Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#3

Re: ShowModal wird nicht beendet

  Alt 28. Apr 2010, 19:21
Ich sagte ja, es ist gekürzt.

Delphi-Quellcode:
// OK-Button > Default = True
Procedure TInsightForm.Button2Click(Sender: TObject);
  Begin
    ModalResult := mrNone;
    FInsight.Form_SelectItem(TreeView1.Selected);
  End;

// Abbrechen-Button > Cancle = True
Procedure TInsightForm.Button3Click(Sender: TObject);
  Begin
    ModalResult := mrNone;
    FInsight.Form_Close;
  End;

// der [x]-Button
Procedure TInsightForm.FormClose(Sender: TObject; Var Action: TCloseAction);
  Begin
    FInsight.Form_Close;
    Action := caNone;
  End;
Ich wollte die Instanz komplett extern verwalten.
Die FInsight.xxx-Prozeduren geben die Form frei (.Free), wenn einige interne Prüfungen erfolgreich waren, ansonsten bleibt die Form erhalten/sichtbar.
Und zusätzlich gibt es noch ein "externes" Insight.Hide, womit man programmseitig die Form auflösen kann.

Das Freigeben via .Free hatte ich eigentlich verwendet, damit FormClose nicht nach den Button-Klicks auch noch aufgerufen wird.


Ich versuche dieses aber auch umzustellen, bin grad dabei mir was zu überlegen.
Aber ich find es dennoch komosch/blöde, daß ShowModal nix vom Ableben der Form mitbekommt.


Zitat von Christian Seehase:
[EDIT sagt]
Probier's mal mit caFree
[/EDIT sagt]
Nja, da ich ja aktuell die Form extern freigebe, kann ich ja kein caFree nutzen ... wie gesagt, wenn die Form schon weg ist und dann versucht wird dieses, Aufgrund von caFree, nochmal freizugeben, dann knallt es.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat