Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#3

Re: Allgemeine Frage zu Zuweisungen von Instanzen

  Alt 14. Jun 2007, 14:36
Also beide Annahmen oben stimmen.
Die 'verwaiste' TStringList aus der ersten Annahme nennt man übrigens ein Speicherleck. -> Speicher der angefordert wird aber nie freigegeben wird.

property Searchlist: TStringlist read FSearchlist write FSearchlist; Pfui.

Delphi-Quellcode:
[...]
function getSearchList:TStringlist;
[...]
property Searchlist: TStringlist read getSearchList write FSearchlist;
Und dann weiter:
Delphi-Quellcode:
function TXTEdit.getSearchList: TStringList;
begin
  if not Assigned(FSearchList) then
    FSearchList := TStringList.Create();

  result := FSearchList;
end;

destructor TXtEdit.Destory;
begin
  if Assigned(FSearchList) then
    FreeAndNil(FSearchList);

  inherited;
end;
Somit bekommst Du die Instanz der Searchlist genau dann, wenn Du das erste mal drauf zugreifst und räumst sie wieder auf, wenn Dein Edit zerstört wird.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat