![]() |
Spezielle Druckereigenschaften auslesen
Ich hätte gern gewusst, wie ich spezielle Eigenschaften eines Druckers ermitteln kann. Konkret geht es mir um den Anschluss (ob an FILE oder nicht) sowie PostScript-Fähigkeit. Zu Letzterem habe ich bei den Schweizern
![]() Danke für' s Lesen |
Re: Spezielle Druckereigenschaften auslesen
Hallo Deddy,
der Code aus der Schweiz funktioniert bei mir - ohne den von dir beschriebenen Seiteneffekt. Freundliche Grüße |
Re: Spezielle Druckereigenschaften auslesen
Hallo marabu, merkwürdig, ich habe diesen Effekt sowohl unter Delphi 7 als auch unter Delphi 2007. Das Memo wird befüllt und das Programm sofort danach geschlossen.
|
Re: Spezielle Druckereigenschaften auslesen
Hi Detlef,
ich kann das Problem auch nicht nachvollziehen (TDE). Tritt das Problem auch in einer nackten Anwendung auf? |
Re: Spezielle Druckereigenschaften auslesen
Hallo
Probiere mal den Code von Joe C. Hecht:
Delphi-Quellcode:
uses
Printers; function IsPostScriptPrinter(dc : hdc) : bool; var TestInt : integer; a : array[0..255] of char; err : integer; s : string; begin Result := false; TestInt := GETTECHNOLOGY; {$IFDEF WIN32} if ExtEscape(Dc, QUERYESCSUPPORT, sizeof(TestInt), @TestInt, 0, Nil) > 0 then begin Err := ExtEscape(Dc, GETTECHNOLOGY, 0, nil, 256, @a); {$ELSE} if Escape(Dc, QUERYESCSUPPORT, sizeof(TestInt), @TestInt, Nil) > 0 then begin Err := Escape(Dc, GetTechnology, 0, nil, @a); {$ENDIF} if Err > 0 then begin s:= UpperCase(StrPas(a)); if Pos('POSTSCRIPT',s) > 0 then result := true; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if PrintDialog1.Execute then if IsPostScriptPrinter(Printer.Handle) then ShowMessage('This is a Postscript Printer') else ShowMessage('This is not a Postscript Printer'); end; |
Re: Spezielle Druckereigenschaften auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich kann machen, was ich will, immer derselbe Effekt :wall: Ich hänge mal das D7-Kompilat an, vielleicht tritt dieses komische Verhalten ja nur bei mir auf.
|
Re: Spezielle Druckereigenschaften auslesen
Ah, der Code von Tom funktioniert, herzlichen Dank :thumb:
|
Re: Spezielle Druckereigenschaften auslesen
Deine Exe funktioniert bei mir einwandfrei. ;)
Liegt also irgendwo doch an Dir. *g* |
Re: Spezielle Druckereigenschaften auslesen
Hmm... evtl. verursachen die virtuellen Drucker das Problem. Nun muss ich nur noch herausfinden, wie ich ermitteln kann, ob der aktuelle Drucker an FILE druckt.
|
Re: Spezielle Druckereigenschaften auslesen
An virtuellen Druckern kann es nicht liegen. Ich habe hier 4 Virtuelle, und es schließt sich nicht.
Aber such mal in der Hilfe (PSDK) nach PRINTER_INFO_2 bzw. PRINTER_INFO_5 . Damit lässt sich herausfinden, ob es ein Fax ist und ähnliches.. Vielleicht hilft es ja weiter. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz