我用Printer打印 第一次打印总是没问题  第二次点同一个按钮打印总是出现莫名其妙的错误
是不是只要用Printer就可以打印了? 
我是直接
     printer.BeginDoc;
     report(printer.canvas);//输出的过程
     Printer.EndDoc;我想
     MyPrinter:=TPrinter.Create;
     Myprinter.BeginDoc;
     report(Myprinter.canvas);//输出的过程
     MYPrinter.EndDoc;老出错

解决方案 »

  1.   

    谁有完整一点的关于Delphi控制打印的资料 我先放140分在这!!!
    郁闷 从来没有用过TPrinter
      

  2.   

    MyPrinter:=TPrinter.Create;
    之后应该要初始化吧!
      

  3.   

    我找到原因了 问题是出在 MyPrinter.free上面 不好意思 上面没贴这一句
    难道Printer不用Free吗?
    是不是Free前还要做什么工作?我现在只有Create没有Free 似乎不太好
      

  4.   

    ha ha 
    还是搂住的细心啊!
      

  5.   

    用delphi,真的不好知道什么时候要自己free啊。
      

  6.   

    Delphi自带的TeeChart的Demo里面打印的那一个单元有Printer的使用方法
      

  7.   

    谁详细说一下
    为什么不要Free
      

  8.   

    Printer直接就可以打印,为什么还要创建一个Printer对象呢?
    直接操作Printer.Canvas就可以了...
      

  9.   

    Printer不用create,可以直接使用,就像使用screen一样
      

  10.   

    printer是一个全局变量,封装了打印机的功能.
    不用自己创建,也用不着释放.
      

  11.   

    不能Free啊,因为它是这个单元的全局变量啊。
    一Free就不能用了。
    同意 fengyvn(我喜欢的人都不喜欢我)的说法。
      

  12.   

    我认为,Tprinter中应该描述的有释放的功能吧?不存在的对象再被释放好象是要出错误的。
    大家认为呢?
      

  13.   

    有点懂了 就把Printer当成Screen用啊