lmikle, спасибо за подсказку, к сожалению она оказалась практически бесполезной в данном конкретном случае(но как метод разборки полетов), в частности сделал так:
Код:
procedure TLoader.Execute;
var Code:string;
begin
try
(*------------------------------*)
Code:=LoadPage(Url); (*ту вызов загрузчика*)
CS.Enter; (*вход в КС*)
try
gStore.Add(Code); (*передаем результат в ГП*)
Dec(CurrentNumOfTHreads); (*счетчик потоков*)
finally
Cs.Leave; (*выход из КС*)
end;
(*-----------------------------*)
except
On E:Exception do
ShowMessage(E.Message); (*просто вывести чего либо*)
end;
end;
результат тот же: при наличии работающего торрента(хавает 95% трафика) один - два потока уходят в небытие. то есть в TLoader.Execute; никаких исключений не возникает поскольку метод GET не отработал в загрузчике.
в связи с выше перечисленным вернемся к насущной проблеме: как правильно сделать таймер внутри потока, чиста внутри потока. конечно таймер будет обращаться к системе через КС, но как конкретно?
кто нибуть в курсе?