Hallo Hansa,
dieses Problem hatte ich auch. In dieser Form funktioniert der Druck
auf einem Netzwerkdrucker einwandfrei. Vorraussetzung ist das der Drucker auf der
Workstation installiert ist.
Delphi-Quellcode:
//sPfad=c:\MeinOrdner, sDatei=MeineDatei, sDrucker= \\MeinPrintServer\HPLaserjet
procedure DruckeDatei(sPfad, sDatei, sDrucker : String);
var
Read : Integer;
Port, Datei : File;
buffer: array [1..128] of Char;
begin
if FileExists((sPfad + sDatei) then
begin
AssignFile(Datei,sPfad + sDatei); // Datei zum Drucken angeben
Reset(Datei,1);
AssignFile(Port, sDrucker); // Drucker zurordnen
Rewrite(Port, 1);
repeat
BlockRead(Datei, buffer, SizeOf(buffer), Read);
BlockWrite(Port, buffer, Read);
// Application.ProcessMessages;
until EOF(Datei) or (Read <> SizeOf(buffer));
CloseFile(Datei);
CloseFile(Port);
end;
end;
Mit der
API- Funktion
AddPrinterConnection(PChar(Drucker));
oder
DeletePrinterConnection(PChar(Drucker));
kann ein Drucker auf der Workstation installiert werden.
[edit=Sharky]Doppelposting gelöscht. Mfg, Sharky[/edit]