DelphiFAQ Home Search:

Freeing a TList

 

commentsThis article has not been rated yet. After reading, feel free to leave comments and rate it.

If there is any possibility of the freeing code being called re-entrantly, make sure to store a nil in the list before freeing the object; your code should look like this:

// original from Ray Lischner
for i := 0 to List.Count-1 do
begin
  TempNode := List[i];
  List[i] := nil;
  TempNode.Free;
end;
List.Free;

Otherwise, the list would contain an invalid pointer. Even if you are not using multi-threading, Delphi has a few places where it is re-entrant.

Comments:

2005-11-25, 01:11:39
anonymous from India  
NO Comments

 

 

NEW: Optional: Register   Login
Email address (not necessary):

Rate as
Hide my email when showing my comment.
Please notify me once a day about new comments on this topic.
Please provide a valid email address if you select this option, or post under a registered account.
 

Show city and country
Show country only
Hide my location
You can mark text as 'quoted' by putting [quote] .. [/quote] around it.
Please type in the code:

Please do not post inappropriate pictures. Inappropriate pictures include pictures of minors and nudity.
The owner of this web site reserves the right to delete such material.

photo Add a picture: