Einzelnen Beitrag anzeigen

litotes

Registriert seit: 12. Feb 2007
33 Beiträge
 
Delphi 7 Professional
 
#8

Re: Programmprozess läuft weiter, obwohl "Windows"

  Alt 27. Jul 2007, 08:18
Guten Morgen,

erstmal vielen Dank für die vielen Vorschläge. Im Einzelnen:

1. es gibt kein onclose, kein onclosequery, nur ein destroy:
Delphi-Quellcode:
  If HotKeySet then
      UnRegisterHotKey(Self.Handle, HotKeyID);
2. Es gibt 2x processMessages, einmal in einer Dateisuche, und dann in einem Test,
ob ein Programm läuft. Aber auch diese Formulare werden erst zu einem Zeitpunkt erzeugt,
an dem das Programm schon längst über das Kreuz beendet ist (eben nach erstem Schirm)

3. Ich erzeuge kaum Objekte (siehe 2), denn jedes Formular bis auf die ersten 3 werden erst
zur Laufzeit jeweils erzeugt und dann immer mit
Screen.ActiveForm.Release; freigegeben.

4. Wenn ich nach ein paar Sekunden der "Unsichtbarkeit" den Pause-Button drücke, dann lande ich
tatsächlich in (siehe 3) dem
Screen.ActiveForm.Release; Das sieht so aus, dass bei jedem Formularwechsel folgendes passiert in onHide:
speicherfreigeben(); und in einem Formular sind alle Methoden gesammelt. Dort ist auch speicherfreigeben(); :
Delphi-Quellcode:
procedure speicherfreigeben();
begin
    try
      Screen.ActiveForm.Release;
    except
      ShowMessage('Ein schwerwiegender Fehler ist aufgetreten. #13#10Das Programm wird geschlossen. #13#10 Bitte starten Sie es neu.');
      Application.Terminate;
    end;
end;

Und Formulare werden so gewechselt:
Delphi-Quellcode:
     hide;
     F_Hier_Starten := TF_Hier_Starten.create(Application);
     F_Hier_Starten.show;

Vielleicht hilft euch das weiter...
Vielen Dank,

litotes
  Mit Zitat antworten Zitat