![]() |
Probleme mit Printer.Getprinter
Hallo zusammen.
habe ein Problem mit der Funktion Printer.Getprinter - es geht darum, die DEVMODE Structure eines Druckers auslesen. Der Code hierzu ist:
Delphi-Quellcode:
Soweit funktioniert das ganze - wird jetzt aber der Drucker mit Printer.PrinterIndex gewechselt, wird bei erneutem Aufruf der Funktion die Devmode Struktur nicht aktualisiert. Hier ist weiterhin der Standarddrucker enthalten. Device hingegen enthält den korrketen Drucker.
Procedure ReadPrinterMode;
type TPrinter_Mode = record Pdm : Devmode; Extra : array[1..20000] of byte; end; var tmpPrinterMode : TPrinterMode; hDevMode : THandle; PDevMode : PDeviceMode; i : integer; Device, Driver, Port: array[0..1023] of char; begin Result:=false; Printer.GetPrinter(Device,Driver,Port,hDevMode); if hDevMode<>0 then begin PDevMode:=GlobalLock(hDevMode); if pDevMode<>nil then begin move(pDevMode^,tmpPrinterMode,pDevMode^.dmSize+pDevMode^.dmDriverExtra); GlobalUnlock(hDevMode); Result:=true; end; end; Hat jemand eine Idee? Oder vielleicht eine alternative Idee, um die Daten auszulesen? Ich hoffe, ich habe die richtige Kategorie erwischt. |
AW: Probleme mit Printer.Getprinter
Moinsen,
ggf. könnte ![]() |
AW: Probleme mit Printer.Getprinter
Hallo DelphiBandit,
danke für die Info - werde ich gleich mal testen. Dies könnte erklären, warum der devmode korrekt ist, wenn zwischen den Abfragen der TPrintDialog ausgeführt wird. Melde mich nochmal. |
AW: Probleme mit Printer.Getprinter
Hallo DelphiBandit,
das wars !! Da sucht man tagelang im eigenen Mist und dann sowas :wall:. Naja, dafür läuft es jetzt. Auf jeden Fall vielen Dank für Deine Unterstützung :-D. |
AW: Probleme mit Printer.Getprinter
Gerne doch - waren bei mir bei D5 seinerzeit auch tagelang :D
Ich glaube auf dieses Problem fallen viele herein, die direkt über TPrinter mit den Druckern reden wollen :( Vielleicht sollte man es mal in die FAQ mit aufnehmen :) Die Frage ist nur, welche Stichworte man dort reinpacken will, damit es auch gefunden wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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-2025 by Thomas Breitkreuz