Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Ein Objekt in einer Funktion zerstören

  Alt 30. Sep 2020, 09:33
Die wichtigsten Dinge wurden ja schon gesagt.
* falscher Bezeichner
* Free und in Beziehung dazu das Assinged

Wenn nicht noch mehr in dieser Funktionen ist, dann ist sie im Grunde total nnutzlos ... jedenfalls ist irgendwie kein "nützliches" Verhalten erkennen.

Und Spaß macht es, wenn man diese Funktion mehrmals aufruft,
denn Free setzt die Variable nicht auf NIL und selbst wenn, dann würde "dieser" Parameter den NIL außerhalb der Funktion verschwinden lassen.

Delphi-Quellcode:
function myFunc (aClass : TMyClass) : Boolean;
begin
  //Result := not Assigned(aClass); // ob davor oder danach ist hier egal
  aClass.Free;
  Result := not Assigned(aClass);
end;
Würde Free die Variable auf NIL setzen (FreeAndNil), dann wäre Assing "danach" sinnlos, da es immer FALSE liefern würde.
$2B or not $2B

Geändert von himitsu (30. Sep 2020 um 09:40 Uhr)
  Mit Zitat antworten Zitat