Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#35

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 9. Mär 2015, 17:12
In deiner Destroy-Methode wird zuerst Inherited aufgerufen, was ansich schon dafür sorgt, die Instanz von TfrmMain zu zerstören. Danach greifst du aber noch einmal auf diese bereits zerstörte Instanz zu, indem du sie auf Nil zu setzen versuchst.
Ich mache das auch manchmal, wenn ich die Form-Variable auf NIL setzen möchte. Diese Zuweisung auf NIL allein bringt auch keinen Fehler, da ja nicht mehr auf Methoden des (ehemaligen) Formulare zugegriffen wird. Das ist zugegebenermaßen nicht das schönste Pattern, aber manchmal muss man Dinge einfach auf NIL setzen.
Was ich sagen wollte: Der Fehler von Walter muss noch woanders stecken.


//Edit: Eins sehe ich gerade: Da oben wird mittels "Abort" eine stille Exception ausgelöst. Wenn man sich aber eh schon im OnCloseQuery befindet, kann man auch den Var-Parameter "CanClose" auf False setzen, wenn man das schliessen verhindern möchte.
Daniel R. Wolf
mit Grüßen aus Hamburg

Geändert von Daniel ( 9. Mär 2015 um 17:14 Uhr)
  Mit Zitat antworten Zitat