Florian Sundermann
2004-09-14 08:03:49 UTC
Hi Leute,
ich benutzte eine Procedure um mit delphi eine Datei auf einen Drucker
meiner wahl auszudrucken
Code:
procedure TForm1.PrintFile(aDatei:string; aDrucker:integer=-1);
var
Device : array[0..255] of char;
Driver : array[0..255] of char;
Port : array[0..255] of char;
S: String;
hDeviceMode: THandle;
begin
Printer.PrinterIndex := aDrucker; // select a printer
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
S:= Format('"%s" "%s" "%s"',[Device, Driver, Port]);
ShellExecute( handle, 'printto', PChar(aDatei), Pchar(S), Nil, sw_hide );
Application.ProcessMessages;
end;
geht soweit auch prima
nur wenn ich dir procedure mehrmals hintereinander aufrufe geht es zB
beim AcrobatReader nicht weil der dann nur den ersten druckauftrag
bearbeitet... jemand ne idee? Bei anderen Programmen wie msWord usw
gehts ohne probleme.
Greetz
Florian
ich benutzte eine Procedure um mit delphi eine Datei auf einen Drucker
meiner wahl auszudrucken
Code:
procedure TForm1.PrintFile(aDatei:string; aDrucker:integer=-1);
var
Device : array[0..255] of char;
Driver : array[0..255] of char;
Port : array[0..255] of char;
S: String;
hDeviceMode: THandle;
begin
Printer.PrinterIndex := aDrucker; // select a printer
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
S:= Format('"%s" "%s" "%s"',[Device, Driver, Port]);
ShellExecute( handle, 'printto', PChar(aDatei), Pchar(S), Nil, sw_hide );
Application.ProcessMessages;
end;
geht soweit auch prima
nur wenn ich dir procedure mehrmals hintereinander aufrufe geht es zB
beim AcrobatReader nicht weil der dann nur den ersten druckauftrag
bearbeitet... jemand ne idee? Bei anderen Programmen wie msWord usw
gehts ohne probleme.
Greetz
Florian