Thema: Delphi Sich selbst neu starten?

Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Sich selbst neu starten?

  Alt 20. Apr 2006, 01:29
Das wichtigste Ziel der Methode "Sich selbst neu starten" ist, sicherzustellen, dass nicht beide Programme zur gleichen Zeit auf die selben Daten zugreifen können. Deshalb habe ich mir folgende Vorgehensweise ausgedacht (ProgrammA und ProgrammB sind verschiedene Instanzen *desselben* EXE-Programms):

- ProgrammA startet ProgrammB

- ProgrammB überprüft in einer Zeitschleife von X Sekunden im OnCreate-Event des Hauptfensters, ob ProgrammA läuft (etwa mittels Prozessliste):
- Wenn nein: Zeitschleife abbrechen und normal starten
- Wenn ja: Überprüfung in der Zeitschleife weiter ausführen:
- Wenn Zeitschleife X Sekunden abgelaufen: Sich selbst beenden.

- ProgrammA beendet sich selbst

Damit hätte man mehrere Vorteile:
- Starten einer zweiten Instanz wird verhindert.
- Programm kann sich selbst neu starten. Durch Ausführung der Instanzprüfung am Beginn des ersten Form.OnCreate-Events wird garantiert, dass nicht Programmcode in mehr als einer Instanz zur gleichen Zeit ausgeführt wird.

Wie könnte man die Zeitschleife am besten programmieren?
  Mit Zitat antworten Zitat