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.