Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#7

AW: Adobe Acrobat via OLE oder Alternativen

  Alt 4. Jul 2014, 10:57
Hier herrscht die Meinung vor, das ShellExecute ja quasi eine Fire and Forget Operation ist, wo dann evtl. der Reader ein großes Dokument öffnet, während schon ein zweites ShellExecute abgeschossen wird mit einem kleineren Dokument, das parallel schneller geöffnet und zum Drucker gesendet wird und schon ist die Druckreihenfolge durcheinander. Könnte das sein?
Jupp,

aber teilweise kann man auch warten.
ShellExecAndWait, bzw. CreateProcess

Das kommt aber auf das gestartete Programm drauf an. Wenn man z.B. einen Launcher wartet, der wiederum einen weiteren Prozess startet, bzw. die Daten nur übergibt, und sich dann beendet, dann kommt das natürlich auch wieder "vorzeitig" zurück ... wobei der Launcher natürlich wirklich fertig ist.
Natürlich kann man dann auch nicht sowas wie ShellExecuteXXX(0, 'print', 'my.pdf', ...) machen, sondern muß sich schon direkt an das "richtige" Programm wenden.


Lokal könnte man auch versuchen die Druckerwarteschlange zu überwachen und sendet den nächsten Druckauftrag erst dann ab, wenn der Letzte durch ist.
Oder man überwachte die Acrobat-Instanzen und startet den nächsten Druck, wenn keine Instanz mehr aktiv ist, die aktuell etwas drucken soll.
Oder ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Jul 2014 um 11:04 Uhr)
  Mit Zitat antworten Zitat