Hallo Leute,
in einem Programm von mir, das als Dienst läuft und mit einer interaktive Beziehung des Dienstes zum Desktop steht, kann ich bei W2000 Server nicht Drucken Bei W2000 + Prof, XP + Prof , SBS 2003 geht es. An was kann dies liegen?
Hier ein kurzer Sourceauszug:
.......
Function PrintTo(Const Bitmap: TBitmap; DruckerNr: Integer):Boolean;
Var rect: TRect;
fct: Double;
begin
Result := True;
TRY
Printer.PrinterIndex := DruckerNr;
fct := Printer.PageWidth/BitMap.Width;
fct := BitMap.Height*fct;
with rect do begin
Left := 0;
Top := 0;
Right := Printer.PageWidth;
Bottom := Round(fct);
end;
Printer.BeginDoc;
Printer.Canvas.StretchDraw(rect, BitMap);
Printer.EndDoc;
EXCEPT
Result := False;
END;
end;
.....
Nur das man die Einfachheit der Druckroutine sieht
Der Druck funktioniert weder im Angemeldetem Desktop (Es erscheint dann ein Tray-Icon) noch im Dienst. Wie schon geschrieben nur in W2000 Server geht es nicht.
Danke schon mal füe Eure Antworten
mfg Eduard Demont
in einem Programm von mir, das als Dienst läuft und mit einer interaktive Beziehung des Dienstes zum Desktop steht, kann ich bei W2000 Server nicht Drucken Bei W2000 + Prof, XP + Prof , SBS 2003 geht es. An was kann dies liegen?
Hier ein kurzer Sourceauszug:
.......
Function PrintTo(Const Bitmap: TBitmap; DruckerNr: Integer):Boolean;
Var rect: TRect;
fct: Double;
begin
Result := True;
TRY
Printer.PrinterIndex := DruckerNr;
fct := Printer.PageWidth/BitMap.Width;
fct := BitMap.Height*fct;
with rect do begin
Left := 0;
Top := 0;
Right := Printer.PageWidth;
Bottom := Round(fct);
end;
Printer.BeginDoc;
Printer.Canvas.StretchDraw(rect, BitMap);
Printer.EndDoc;
EXCEPT
Result := False;
END;
end;
.....
Nur das man die Einfachheit der Druckroutine sieht
Der Druck funktioniert weder im Angemeldetem Desktop (Es erscheint dann ein Tray-Icon) noch im Dienst. Wie schon geschrieben nur in W2000 Server geht es nicht.
Danke schon mal füe Eure Antworten
mfg Eduard Demont
Comment