Показать сообщение отдельно

  #4808  
Старый 05.11.2009, 13:30
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
С нами: 9715564

Репутация: 89
По умолчанию

Отловил я-таки момент зависания.

В процедуре обновления списка прокси-серверов.

Код:
procedure TForm1.Timer3Timer(Sender: TObject);
var
  s : widestring;
  http : tidhttp;
begin
  http := tidhttp.create;
  http.ReadTimeout := 30000;
  s := httpget (http, 'http://awmproxy.com/proxy.php?Id=********&d=1');
  if extractb (s, '[^\r\n]*[^\r\n]') <> nil then
  begin
    CriticalSection.Enter;
      proxys.Clear;
      proxys.AddStrings (extractb (s, '[^\r\n]*[^\r\n]'));
    CriticalSection.Leave;
  end;
  http.Free;
end;
В момент, когда критическая секция занята, в нее стучится этот код. И все - зависает.

Как иправить, подскажите, пожалуйста
 
Ответить с цитированием