Вниз
Скачать: CL | DM;

Интересный Вопрос   Найти похожие ветки 

 
S@shka   (2002-06-21 19:01) [0]

Товарищи. Наткнулся вот на с какой проблемой.
Предположим есть клиент-сервер, бщающиеся по определенному протоколу.
клиент задает вопросы и сервер на них овечает (допустим).
Клиент - форма с Таймером. (реализованы на TNMMSGServ TNMMsg)
Клиент отсуает запрос активизируется таймер и он через определенное время опрашивает переменную, которая устанавливается при событии OnMsg TNMMsgServ
Так вот никаких проблем нет если процедура выглядит так...
procedure DoSomeThing
begin
......
NMMsgPostIT (asString); // отправяем команду а сервер
Timer1.Enabled:=true; // активизируем таймер
end;
Одноко необходимо сделать цикл действий и вот тут глюк (естественно)
procedure DoSomeThingMore
begin
......
for i:=1 to N do begin
NMMsgPostIT (asString); // отправяем команду а сервер
Timer1.Enabled:=true; // активизируем таймер
end;
end;
здесь уже нет корректной работы. Т.к. необходимо чтобы клиент полал строку, затем через время (таймера) посмотрел а не пришел ли ответ, после этого послал следующую коману и т.д.
Как сделать ЗАДЕРЖКУ необходимую.
КТО ЧТО НИТЬ ПОНЯЛ помогите как говориться чем можите.
С уважением Александр.


 
Cobalt ©   (2002-06-22 11:02) [1]

Я так понимаю, что вопрос ао алгоритму...
Если время ответа сравнимо мало, то можнл делать так:
цикл от 1 до Н
(посылаем команду;
АктивизируемТаймер
пока нет ответа
ждем;
//типа, ответ пришел - выходим из ожидания
СмотримОтвет
)//посылаем след. команду /\



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-3302
CashDi
2002-08-13 09:34
2002.09.02
Получение имени пользователя IB6, FireBird


1-3424
blazze
2002-08-22 23:02
2002.09.02
Модули


14-3614
Igorek
2002-08-07 09:56
2002.09.02
Две задачки про взвешивание


1-3461
Unhandled Exception
2002-08-20 17:00
2002.09.02
Разное поведение компонента под Win98 и Win2000


14-3560
MBo
2002-08-02 12:48
2002.09.02
Простенькая задачка




   Наверх