Einzelnen Beitrag anzeigen

friedemann2009

Registriert seit: 10. Feb 2010
49 Beiträge
 
#4

AW: Externes Programm mehrfach starten / Instanzen überwachen

  Alt 20. Aug 2012, 21:31
Hi Popov,

ja, sind externe Programme.

Das Problem bei der Sache ist, dass ich die zu übergebende Parameterdatei für das Programm löschen muss, wenn das dazugehörige Tool 'fertig' ist. Ich habe die Lösch-Zeilen immer im Anschluss an einen ShellExecAndWait-Aufruf gesetzt. Der Programmablauf SOLLTE so aussehen:

Timer - Takt1
1) Lege Parameterdatei1 an
2) Starte Tool1
...Tool1 läuft
...gleichzeitig / irgendwann überschneidend:

Timer - Takt2
3) Prüfe, ob im Konfig-Verz n-Toolinstanzen nicht überschritten sind, sonst warten; wenn nicht überschritten, dann:
4) Lege Parameterdatei2 an
5) Starte Tool2 (= 2. Instanz von Tool1)
...Tool1 und 2 laufen
...irgendwann überschneidend:

6) Parameterdatei1 wird gelöscht
7) Evtl. wird bereits eine weitere Instanz gestartet


So schön, so gut. Leider funktioniert es nicht gut:
a) Es starten kunterbunt viele Instanzen (mal mehr, mal weniger - trotz funktionierender Instanzenkontrolle!)
b) Beim Schließen des Main-Programms kann ich das temp. Konfig-Verzeichnis nicht löschen, weil irgendetwas noch darauf zugreift (kann aber nicht sein, weil keine Parameterdateien mehr darin und auf das Verzeichnis zumindest dem Code nach kein Zugriff stattfinden sollte).

Also zwei recht grundlegende Probleme. Daher meine Frage, ob es dazu nicht bereits eine Shell-Procedur gibt, o.ä. Ich dachte z.B. daran, irgendwie via Handle o.ä. zu prüfen, ob und wieviele der externen Tools noch aktiv sind. Geht das?

Danke und Gruß,
Frieder
  Mit Zitat antworten Zitat