Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.020 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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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