真是见鬼了,
  我用的SETFORM的API函数,原代码如下:
  Dim FI1 As sFORM_INFO_1
Dim aFI1() As Byte
Dim RetVal As Long
Dim i As Long
With FI1
    .Flags = 0
    .pName = FormName
    With .Size
        .cx = FormSize.cx
        .cy = FormSize.cy
    End With
    With .ImageableArea
        .left = 0
        .top = 0
        .Right = FI1.Size.cx
        .Bottom = FI1.Size.cy
    End With
End With
ReDim aFI1(Len(FI1))
Call CopyMemory(aFI1(0), FI1, Len(FI1))
'RetVal = AddForm(PrinterHandle, 1, aFI1(0))  '增加一个新的打印格式
RetVal = SetForm(PrinterHandle, FormName, 1, aFI1(0))   '修改一个打印格式
Debug.Print Err.LastDllError最奇怪的是原代码运行一切正常,一旦编译后就不能修改表单(打印格式)了
  那位高手知道是这么回事

解决方案 »

  1.   

    或有没有人知道这样如何处理,
       知道PRINTER 的句饼(通过openprinter函数),
       知道页面格式的名称,如:“XS”
       如何返回Printer.PaperSize序号那
      

  2.   

    难度高的问题分就多啥。
    但我不明白的是为什么原代码能够成功运行,而编译后就不能成功(主要是setform这个函数)
      

  3.   

    应该是什么东东没有初始化。
    想想VC的debug与release的区别
    刚才去VC版转了转,想到了这事。