本人初学DELPHI,不悉,现遇到个问题,望高手指点,先谢过! while not DBGrid.DataSource.DataSet.Eof do
   begin
   Printer.BeginDoc;
   panduan:=1;   for  i:=1 to total do
   begin
  ret_p:=StretchBlt(Printer.Canvas.Handle,  SrcRect.Left,SrcRect.Top,SrcRect.Right,SrcRect.Bottom, Bitmap.Canvas.Handle, 0, 0, Bitmap.Width,Bitmap.Height, SRCAND);   if ret_p=false then
   begin
     showmessage('打印图像失败,系统将自动重新打印这一张,请确认!');
     printer.Abort;
     panduan:=0;
     break;
     
   end;
      end;   if panduan<>0 then
   begin
   printer.EndDoc;
   DBGrid.DataSource.DataSet.Next;
   end;   end;
出现问题是这样的:当ret_p=false时,我取消当前打印命令,printer.Abort,返回while循环重新打印这一张.但是重新打印这张时,打印机说无法打印,并且打印机大小一栏中为64K/1.96M,是不是我没有释放printer什么东西呢?望高手指点,万分感谢!!!