Autor Beitrag
mig76
Hält's aus hier
Beiträge: 15


2010
BeitragVerfasst: Mo 24.01.05 10:45 
hi,

habe folgendes Problem:
habe mir in einem form zur laufzeit fünf (oder auch mehrere) temporäre pdf-Dokumente generiert. Da ich diese gern automatisch ausdrucken möchte, hab ich folgenden Befehl in einer Schleife verwendet

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  
  for i:=0 to grAuswahl.Count -1 do
  begin
      sTempPDF := GenerateTempPDF(grAuswahl.Items[i].Strings[0]);
      ShellExecute(0'print', PChar(sTempPDF), nilnil, SW_Hide);

    end;
  end;


Jetzt habe ich aber das Problem, dass ich am Ende dieser Schleife immer noch die temp. pdf-Files habe. Wenn ich diese Dateien einfach nach jedem ShellExecute lösche, dann kommt mein Riesen-Problem, und zwar, dass dann das Löschen der Files schneller geht als den Druckauftrag senden mit ShellExecute, und so sind die letzten Dateien nicht mehr physisch vorhanden, und der ShellExecute-Befehl findet keine Dateien mehr, die er zum Drucker schicken kann, weil sie bereits gelöscht wurden. Hoffe, ihr versteht meine technischen Ausführungen hier :oops:

:?: Nun meine Frage: Kann ich irgendwie mit dem Shellexecute-Befehl abfragen, ob diese Datei gedruckt wurde oder nicht? oder welche Möglichkeit hätte ich, diese temporären Dateien zu löschen, nachdem (!!!) sie gedruckt wurden! :?:

Hoffe auf Eure Hilfe
Mercy

Moderiert von user profile iconAXMD: Code- durch Delphi-Tags ersetzt.
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 24.01.05 10:50 
Bitte das nächste Mal Delphi-Tags verwenden; hab auch den Titel modifiziert: kann ja sein, dass deine ?-Taste kaputt ist ;)

AXMD
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 24.01.05 10:53 
Es gibt mehrere Lösungen. Eine von den JEDIs (Suche in: Delphi-Forum, Delphi-Library "WINEXEC32ANDWAIT"), eine von Luckie (Suche in: Delphi-Forum, Delphi-Library "RUNPROCESS"), eine von Assarbad (Suche in: Delphi-Forum, Delphi-Library "SHELLEXECUTEANDWAIT"). Sie können alle das gleiche: Auf Wunsch warten, bis der Befehl abgearbeitet wurde.