Thema: Delphi Destructor Destroy

Einzelnen Beitrag anzeigen

Puhbaehr
(Gast)

n/a Beiträge
 
#1

Destructor Destroy

  Alt 15. Nov 2005, 07:24
Ich trau mich fast nicht diese Frage zu stellen.

Das was ich will sollte so wie ich es mache funktionieren (laut Online-Hilfe und Delphi-Such-Resultate).

Wie wende ich Destructor Destroy richtig an?

Um jeden Fehler zu vermeiden hab ich nur das treffende in eine neue Anwendung geschrieben:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
    Constructor Create (Owner : TComponent); override;
    Destructor Destroy; override;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

Constructor TForm1.Create (Owner : TComponent); // Funktioniert prima
 begin
  inherited Create (Owner);

  beep;
  showmessage ('Anwendung wird gestartet');
 end;
    
Destructor TForm1.Destroy; // macht leider gar nichts
 begin
  beep; // Um Sichtbar zu machen, dass der
  showmessage ('Anwendung wird beendet'); // Destructor Destroy wirklich ausgeführt wird

  inherited destroy;
 end;

end.
Weshalb wird der Destructor TForm1.Destroy beim Beenden der Anwendung nicht ausgeführt?
Oder kann es sein, dass ich das ShowMessage-Fenster nicht sehe weil die Anwendung bereits dabei ist sich "aufzulösen"? Ich dachte bisher, dass erst mit dem Aufruf von inherited destroy die Anwendung tatsächlich beendet wird?

Bin für jede Hilfe dankbar!

Gruß, Robert
  Mit Zitat antworten Zitat