![]() |
Re: Eigene Instanz von Printers / Fragen zum Druck
Warum baust du nicht eine Drucker Warteschlange und sendest dann vom Hauptprogramm und vom Thread darein und die Warteschlange arbeitet die dann ab.
Weil ich glaub nicht das es geht 2 Drucke gleichzeitig von einer Anwendung abzuschicken. |
Re: Eigene Instanz von Printers / Fragen zum Druck
Guten Morgen,
@sx2008: Das mit der zweiten Instanz hatte ich ja in Beitrag #3 schon vermutet, und 3-Timeouts bevor es kracht bzw. ein Job verloren geht sind ein No-Go. Trotzdem Danke für die Anregung! Zitat:
Ich habe mir die Printers.pas mal genau angesehen, die ist tatsächlich nicht Thread-Safe, weil sie intern Canvas, Font etc nutzt. Zusätzlich sind im QualityCentral mehrere QCs für Printers.pas die sich auf nicht threadsicheren Funktionen beziehen... Ich werde wohl eine Warteschlange schreiben, muß mal sehen, wie ich dann mit Fehlern dort umgehe. Prinzipiell wollte ich im Thread den Druck auslösen, damit ich auch dort den Fehlercode erhalte - fürs Loggen und um ggf. die Threadausführung zu stoppen. Wie würdet Ihr die Warteschlange angehen? Ich denke in Richtung eines eigenen Threads mit Synchronized Callbacks für Fehlerreport, internen StringList für eine eindeutige Printjob-Id (vielleicht auf Basis von UnixDateTime) und der eigentlichen Druckfunktion. Gibt es eigentlich eine Liste, welche Funktionen etc. threadsafe sind? Außerdem frage ich mich, wenn es nicht threadsafe ist von einem Thread auf die VCL unsychronisiert zuzugreifen, wie ist es umgekehrt? z.b. wenn der TThread einer Prozedur namens Foo; hat. Kann ich die ohne Probleme von seiten des VCL-Mainthreads callen? Gruß und vielen Dank Assertor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 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