Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#9

Re: Was macht Free genau in einem Array

  Alt 9. Dez 2005, 09:29
Zitat von QuickAndDirty:
Könnte es sein das dieser fehler nur dann passiert wenn du das letzte verbleibende element aus dem array löschst?
Das DynArray wird nämlich über ein Interface auf @$00000000 gesetzt wenn alle element entfernt wurden.
sprich es wird freigegeben wenn der Referenzzähler 0 erreicht.
Hm... nein, eben das nicht. Wenn ich das letzte lösche tritt da nie der Fehler auf, was ich allerdings etwas seltsam finde... daher verstehe ich auch nicht ganz warum es nicht klappen will.


PS: Kann es eventuell an meiner eigenen Destroy-Procedure liegen?! Die schaut nämlich wie folgt aus:
Delphi-Quellcode:
procedure TMyClass.Destroy;
begin
  // FSub -> Unterklasse von TMyClass
  FSub.Free;
  // FTest -> Variable von Typ TMyClass
  FTest.Free;
  inherited Destroy;
end;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat