Einzelnen Beitrag anzeigen

Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Speicherfressen. Übergabe von Objekten

  Alt 14. Jul 2009, 17:34
Servus,

habe in meiner Anwendung einen recht großen Speicherfresser.
Da die Anwendung aber schon etwas größer ist, ist es schwer den Speicherfresser zufinden.

Habe mal mit FastMM4 mir die Werte anzeigen lassen.
Wenn ich ein Objekt erstelle wie hier
Delphi-Quellcode:
var
  obj : TMeinObject;
begin
  obj : TMeinObject.create;
  fObjectlist.add(obj);
end;
diese Objekt dann später abfrage
Delphi-Quellcode:
Function getObj(index : integer) : TmyObject;
begin
  result := fObjectlist.objects[index];
end;

...

Procedure ...
var
  obj : Tmeinobject;
begin
  obj := GetObj(index);
  if obj = nil then exit;

  obj := nil;
end;
muss ich doch nur obj freigeben oder? bzw. die Variable wieder leeren.
Free kann ich ja nicht aufrufen da ich das Objekt ja noch in der Liste habe...

Mfg
  Mit Zitat antworten Zitat