Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mehrere Druckerinstanzen, DruckerSetupDialog(e) (https://www.delphipraxis.net/165633-mehrere-druckerinstanzen-druckersetupdialog-e.html)

m_junglas 9. Jan 2012 17:31

Mehrere Druckerinstanzen, DruckerSetupDialog(e)
 
Hallo zusammen,

wie ich sehe ist das Drucken immer wieder ein Thema. Ich habe natürlich nach einer alten Lösung meines Problems gesucht, aber nichts gefunden - zumindest nichts mit Lösung.
Daher bin ich mal so frei und frage mal neu. :-)

Ich habe über die letzten Jahre eine Applikation aufgebaut, die aus einem ganzen Satz von DLLs besteht inkl. Fenster und Threads. In manchen DLLs sind Funktionen enthalten, die drucken können inkl. Druckvorschau etc.
Durch die Threads sind diese Funktionen beliebig oft parallel ausführbar.

Alles gut und schön, das Drucken geht auch.

Jetzt ist mein Problem, dass jedes Modul (dll/exe) jeweils ein globales Druckerobjekt enthält, was man offensichtlich benutzen muss... LEIDER.
Deswegen kommen sich nun die ganzen Funktionen in die Quere. So gibt es in der Druckvorschau auch einen TPrinterSetupDialog und eine Druckerauswahl-Combobox. Hat der Benuzter nun mehrere Fenster offen so gehen alle Änderungen direkt in das globale Drucker-Objekt und das unbemerkt vom anderen Fenster.
So würde das Wechseln auf einen anderen Drucker diesen auch für die anderen Fenster setzen, obwohl das nicht gewünscht und nicht angezeigt wird. Gleiches gilt für die Druckersettings selber.

Die Frage ist nun ob es irgendwie möglich ist mehrere eigenständige Drucker zu haben. Und wie kann man einem Druckersetup-Dialog den speziellen Drucker mitteilen?
Ich kann mir nicht vorstellen, dass Delphi hier wirklich nur eine einzige globale Druckereinstellung vorgesehen hat!?

Bislang erlaube ich dem Benutzer nur das Ausführen eines Druckvorgangs zur gleichen Zeit, aber das kam nicht unbedingt toll an.

Als "Viel-Arbeit-für-wenig-Effekt" habe ich nun vor die aktiven Druckereinstellungen je nach aktivem Druckfenster zu speichern bzw. wiederherzustellen, damit es zumindest so aussieht als ob die Fenster unabhängig sind. Inwieweit ich an ALLE Druckeinstellungen komme weiss ich noch garnicht (z.b. tiefere Druckersettings wie irgendwelche spezifischen Farbwiedergabeeinstellungen usw.).

Aber fällt vielleicht Euch etwas Besseres bzw. Eleganteres ein?

Vielen Dank schonmal für das freundliche Benutzen Eurer grauen Zellen. ;-)

/\/\arcus

[Achso, ich benutze Delphi 7]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz