Zitat von
Hansa:
Sagen wirs mal so : wird das Programm beendet, dann ist der Speicher immer noch da. Angenommen, Du schreibst in Word einen Text und beim Rechner wird plötzlich Stecker gezogen. Was ist nun mit dem Text ? Ist der vielleicht sogar unrettbar weg ?
Den Vergleich verstehe ich nicht.
Es ging mir um folgende konkrekte Frage:
Eine Instanz eines Programmes läuft im Windows und erfreut sich bester Gesundheit.
Jetzt startet der User eine 2. Instanz des Programmes.
Wenn ich dabei das
Mutex-Prinzip umsetze und z.B. in einer separaten
Unit in das Projekt
einbinde, dann wir das Programm beendet zwischen begin und Application.Initialize; - also
bevor der Code zum initialisieren greift:
Delphi-Quellcode:
{$R *.res}
...
begin
// hier wird der Ablauf schon unterbrochen!!
Application.Initialize;
Application.Title := 'xxx';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
Okay ich gebe zu, das Initialization-Blöcke in anderen Units auch schon ausgeführt werden.
Aber nun nochmal ganz genau: Welchen Nebeneffekt hat ein Halt; zu diesem Zeitpunkt des Programmstarts? Was kann z.B. Windows nicht tun, was es normalerweise tun muss, um den Prozess korrekt zu beenden?
Gruß,
Christoph