程序启动以后,当接受完文件以后自动打印。然后重新设置打印机。如果在接收完文件打印的时候在begindoc会报printer selected is not valid。谁能告诉我为什么呢?function TPrintThread.PrinteTif: Boolean;
var
   Enview: TimageEnmview;
   i: Integer;
begin
   ResetEvent(AEvent);
   for i := 0 to Printer.Printers.Count - 1 do
   begin
      if Printer.Printers.strings[i] = fPrintName then
      begin
         Printer.printerindex := i;
         break;
      end;
   end;
   Enview := TimageEnmview.Create(nil);
   Enview.MIO.LoadFromFile(DocName);
   with Printer do
   begin
      BeginDoc;///这里报错。
      for i := 0 to Enview.ImageCount - 1 do
      begin
         DrawImage(Canvas, Rect(0, 0, pagewidth, pageheight),
            Enview.GetBitmap(i));
         if i < Enview.ImageCount - 1 then
            Printer.NewPage;
      end;
      EndDoc;
   end;
   SetEvent(AEvent);
   Terminate;
   Enview.free;
end;