Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с зависанием программы при использовании TidUDPClient

17K
15 апреля 2007 года
Zergon
14 / / 16.10.2006
Доброе утро, день или вечер.

Я пишу чат и использую Indy UdpServer/Client
В клиентской форме, стоит только TidUDPClient
и для получения данных с сервера я использую таймер с таким кодом
Код:
procedure TForm1.TimerTimer(Sender: TObject);
var
  Msg:string;
begin
  if Client.Active=True then
    begin
      Msg:=Client.ReceiveString;
      if msg<>'' then
        begin
          MemoRead.Lines.Add(Msg);
        end;
    end;
end;
Проблема в том, что когда данные не приходят всё приложение виснет и я не могу ничего с ним сделать. Пробовал выносить в поток и в другую форму(создаётся с Application,а не Self), не помогает.:confused: :confused: :confused:
Кто может помогите. Заранее благодарен за любую помощь.
18K
17 апреля 2007 года
Lex Luthor
8 / / 15.07.2006
А ты положи на форму idAntiFreeze должно помочь;) Во всяком случае мне помогло при написании почтового клиента, при получении писем прога висла,после того как я разместил idAntiFreeze зависания исчезли.
17K
17 апреля 2007 года
Zergon
14 / / 16.10.2006
У меня стоит он и на клиенте и на сервере

Всё исправил
у меня в клиенте свойство ReceiveTimeout было больше чем в таймере интервал
вот и блокировалось программа
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог