Sometimes this function locks my program, and it's freezes until i close it.
What is wrong here ?
function del_from_list(id:string):boolean;
var i : integer;
begin
Result := True;
try
with global_list.LockList do
begin
for i:=0 to Count-1 do
begin
if Tthread_list(Items[i]).id = id then
begin
Delete(i);
break;
end;
end;
end;
finally
global_list.UnlockList;
end;
end;
the class
Tthread_list = class
public
id : string;
constructor Create(const id: string);
end;
I'm adding to the list like that:
global_list.Add(Tthread_list.Create('xxx'));
global list is a global variable
var global_list : TThreadList = nil;
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…