Иногда эта функция блокирует мою программу, и она зависает, пока я не закрою ее.Что здесь не так?
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;
класс
Tthread_list = class
public
id : string;
constructor Create(const id: string);
end;
Я добавляю в список вот так:
global_list.Add(Tthread_list.Create('xxx'));
глобальный список - глобальная переменная
var global_list : TThreadList = nil;