Вниз
Скачать: 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.01 c
1-3501
KIR
2002-08-21 11:56
2002.09.02
Распечатка Chart a


1-3454
Man-In-Red
2002-08-20 19:11
2002.09.02
Как можно узнать?


1-3437
Fly`
2002-08-20 12:55
2002.09.02
StatusBar, клик по панели.


1-3498
ЮРИЙ_К
2002-08-21 12:01
2002.09.02
Сделать недоступными некоторые Items-ы у ComboBox.


3-3319
SerVS
2002-08-08 00:52
2002.09.02
Ошибка при подключении к IB




   Наверх