Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

Re: Listen freigeben

  Alt 13. Nov 2008, 11:46
Zitat von Viktorii:
Aber wer hat nun recht? DeddyH oder Oreaden bzw. das Orakel
öhhhm, behaupten beide etwas anderes? ... nein

Das Orakel weist nur darauf hin, dass die TObjectList die enthaltenen TObject's beim TObjectList.Free auch mit TObject.Free aus dem Speicher wirft.

Also wenn dieses Object an die TObjectList gehängt wird, dann ist beim TObjectList.Free alles aus dem Speicher.
Delphi-Quellcode:
TMyObject = class( TObject )
private
  FEinObject : TObject;
public
  constructor Create;
  destructor Destroy; override;
end;

constructor Create;
begin
  inherited;
  FEinObject := TObject.Create;
end;

destructor Destroy;
begin
  FEinObject.Free;
  inherited Destroy;
end;
Bei diesem Object funktioniert das nicht, was aber nicht an der Liste, sondern an dem Object selber liegt, denn das entfernt sich nicht sauber aus dem Speicher!
Delphi-Quellcode:
TMyObject = class( TObject )
private
  FEinObject : TObject;
public
  constructor Create;
end;

constructor Create;
begin
  inherited;
  FEinObject := TObject.Create;
end;
DIe TObjectList macht schon alles richtig, sie kann aber nicht zaubern!

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat