Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > ICQClient: ошибка "разрушения" компонента


Автор: Coderr 22.2.2007, 21:13
Доброго времени суток!
У меня проблема с моим клиентом icq, который я делаю на основе TICQClient, взятый с http://www.cobans.net/
Проблема такая. Во время запуска программы всё работает нормально, но когда я кликаю на кнопочку [x] фокус переходит к Delphi и вылетает ошибка, которую я вы ложил в аттач. Я думаю проблемы в компоненте. Может подскажете, почему эта ошибка вылетает и как от неё избавиться?

Автор: Snowy 23.2.2007, 04:09
Ну что тут сказать.
У тебя ошибка в коде. Ошибка связана с потоком. Скорее всего с его уничтожением.
Возможно имеет место повторное уничтожение уже убитого потока.
По картинке гадать бесполезно - код надо.

Автор: Coderr 23.2.2007, 20:13
Вот! Пожалуйста!
http://mandarinsoft.ucoz.ru/files/Thumbelina.rar

Автор: Coderr 25.2.2007, 19:52
Простите, что спрашиваю... Кто-нить посмотрел мои исходники и ответит на мой вопрос?

Автор: Coderr 4.3.2007, 21:41
ОТВЕТЬТЕ ПОЖАЛУЙСТА!!!  smile 

Автор: Coderr 6.3.2007, 17:21
Ладно. Вопрос решён. Я начал писать прогу заново.  smile 

Отказываюсь от своих слов. Та же ошибка! И вылетает она при следующих двух обстоятельствах:
1) Если нажать В сети->Не в сети->В сети
2) Если после коннекта или во время него закрыть программу.
ПОМОГИТЕ!!! Я в шоке!!!  smile 

Автор: yXo 17.3.2007, 13:18
Проблема действительно в компаненте, попробуй сделать так:
открываем icqworks.pas, ползем в самый конец и ищем destructor TThreadTimer.Destroy;
У меня там такой код ;)
Код

destructor TThreadTimer.Destroy;
begin
 fTrigger.Terminate;
 if not fTrigger.Suspended then
  fTrigger.WaitFor;
 //else fTrigger.Free;
 inherited;
end;

Попробуй может поможет..

Автор: Coderr 19.3.2007, 11:04
yXo, СЛУШАЙ! ОГРОМНОЕ ТЕБЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!  smile  Теперь работает как надо! =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)