Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Dispose auf Objects einer TCheckListBox

  Alt 20. Okt 2008, 11:08
Willst du deine Daten nicht lieber in ein Objekt packen?
In diesem Fall sieht das freigeben so aus:
Delphi-Quellcode:
procedure TStringsFreeObjects(sl: TStrings);
var
   i: Integer;
   o: TObject;
begin
   for i := sl.Count-1 downto 0 do
   begin
      o := sl.Objects[i];
      if Assigned(o) then
      begin
         o.Free;
         sl.Objects[i] := nil; // merken, dass Objekt freigegeben wurde
      end;
   end;
end;
...
TStringsFreeObjects(CheckListBox1.Items);
In deiner procedure DisposeList hast du übrigens vergessen, die Objekt-Zeiger auf nil zu setzen.
Dadurch besteht eine Chance, dass du die Daten nochmals freigibst.
Andreas
  Mit Zitat antworten Zitat