Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 03:26   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию Зависание программы при попытки получения сообщения.

Здравствуйте.
Программа вешается напроч если попытаться получить сообщение которое не было отправлено. получаю так
Код:
procedure TForm1.Button5Click(Sender: TObject);
var 
   s:TStringStream;
begin
   s:=TStringStream.Create;
   try
      idtcpc.IOHandler.ReadStream(s);
      s.Position:=0;
      memo1.Lines.LoadFromStream(s);
   finally
      s.Free;
end;
end;
То есть если сервер отправляет какое либо сообщение, клацаем по данной кнопочки сообщение появляется в memo, а если сервер не чего не отправляет и клацнуть по кнопочке то программа встает в ступор, как этого можно избежать. Я так понимаю висеть она будет пока ей все такие не прийдет сообщение.
Lokos вне форума Ответить с цитированием
Старый 25.08.2010, 08:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вообще-то получение данных делается в особом событии, а не по клику кнопки.
Почитай про TIDTCP событие OnWork
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2010, 10:35   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вообще-то получение данных делается в особом событии, а не по клику кнопки.
Почитай про TIDTCP событие OnWork
можно пример небольшей
Lokos вне форума Ответить с цитированием
Старый 25.08.2010, 11:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Увы я не дружу с ИНДИ. Просто читал в хелпе про это событие.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2010, 20:18   #5
Terikon
Форумчанин
 
Регистрация: 22.02.2009
Сообщений: 174
По умолчанию

Кинь на форму TidAntiFreeze с вкладки Indy Misc
Terikon вне форума Ответить с цитированием
Старый 26.08.2010, 02:50   #6
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Terikon Посмотреть сообщение
Кинь на форму TidAntiFreeze с вкладки Indy Misc
это конечно поможет но не совсем, тупит с антифризом тоже не по детски. у idTCPclient'a не как нельзя определить что пришло сообщение. как у сервера в методе onExecute
Lokos вне форума Ответить с цитированием
Старый 26.08.2010, 16:25   #7
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

почему? перенеси в поток то что у тебя вызывает зависания и при каждом запросе выводи результат в label
bulldog5293 вне форума Ответить с цитированием
Старый 27.08.2010, 04:54   #8
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от bulldog5293 Посмотреть сообщение
почему? перенеси в поток то что у тебя вызывает зависания и при каждом запросе выводи результат в label
можно пример кода, только начал работать с инди много не понятно а с инфой по нему крайне туго(((
Lokos вне форума Ответить с цитированием
Старый 28.08.2010, 12:29   #9
Seven[up]
Пользователь
 
Регистрация: 26.06.2010
Сообщений: 15
По умолчанию

ClientSocket и ServerSocket событие OnClientRead
Seven[up] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависание программы. kardinal94 Общие вопросы Delphi 2 23.08.2010 17:36
Зависание программы при выполнении GET запроса iHikita Общие вопросы .NET 1 16.07.2010 00:20
Зависание ПК при печати. delf7 Компьютерное железо 3 09.06.2010 11:16
CriticalSection -> зависание программы PUH Помощь студентам 1 05.11.2009 13:19
вывод сообщения при закрытии программы tiger Помощь студентам 4 27.08.2008 23:31