Очень давно не пользовался программой, но сегодня появилась необходимость запустить ооочень давно написанный скрипт.
Скрипт был переделан на обновленный протокол, но не работал. При дебагинге выяснилось, что причина в таймере - он тупо не запускается.
В качестве проверки написал тестовый скрипт содержащий только таймер, он так же не стал работать.
Вот этот тестовый скрипт:
Код:
var
Timer1 : TTimer;
procedure Init; //Вызывается при включении скрипта
begin
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@OnTimer1;
Timer1.enabled:=true;
Timer1.interval:=100;
end;
//сообщения
procedure SendMsgUser(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClient;
end;
procedure OnTimer1(Sender: TObject);
begin
SendMsgUser('22222');
end;
procedure Free; //Вызывается при выключении скрипта
begin
Timer1.Free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
SendMsgUser('11111');
end.
Где то на сайте было написано, что в некоторых версиях не работает таймер. Для проверки были скачаны версии - от 3.5.31.162 до 3.5.33.164
Подскажите в чем проблема?