程序启动以后,当接受完文件以后自动打印。然后重新设置打印机。如果在接收完文件打印的时候在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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货