Цитата:
Сообщение от semiromid
Здравствуйте ув. программисты . Сутки уже сижу не могу разобраться почему не хочет работать таймер.
Код:
var
Timer01: TTimer;
procedure Init; //Вызывается при включении скрипта
begin
Timer01:=TTimer.Create(nil); //выделяем памать и т.п.
Timer01.OnTimer:=@OnTimer01; //привязываем процедуру к событию
Timer01.enabled:=true; //начальное положение включен(true)/выключен(false)
Timer01.interval:=2000; //интервал(в милисекундах) как часто таймер срабатывает
end;
procedure OnTimer01(Sender: TObject);
begin
buf:=HStr('39 04 00 00 00 00 00 00 00 00');
SendToServer;
end;
procedure Free; //Вызывается при выключении скрипта
begin
Timer01.free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck=HStr('56 18 00 00 00 00 00 00 00 00')) then
begin
buf:=HStr('19 B6 C6 A4 40 00 00 00 00');
SendToServer;
Timer01.enabled:=true;
end
end.
Должно работать следующим образом : При приходе пакета "56" , скрипт отправит пакет "19". Это условие выполняется , а дальше нет. После отправки "19" пакета скрипт включает таймер Timer01.enabled:=true; после включения таймера скрипт должен отправить "39" пакет на сервер , но не отправляет его .
|
Может изначально таймер отключить для начала?