In einer legacy Applikation habe ich an ganz vielen Orte
Form1 := nil
gesehen im
OnClose
(
Form1.FormClose
), anstellen von
Action := ca.Free
.
Was ist der Unterschied wenn ich in
FormClose
- Action := ca.Free
- Form1 := nil
- FreeAndNil(Form1)
aufrufe?
Das erste gibt beim Schließen die Formularklasse frei (.Free wird aufgerufen)
Das 2. setzt nur die Vraible auf Nil, ohne die Instant freizugeben, diese existiert weiterhin.
Das 3. gibt die Instanz freu und setzt die Referenzvariable zurück.