Показать сообщение отдельно
Старый 10.01.2010, 22:45   #1
Новичок
 
Регистрация: 10.01.2010
Сообщений: 2
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
niGGa137 пока неопределено
По умолчанию Не работает таймер

Очень давно не пользовался программой, но сегодня появилась необходимость запустить ооочень давно написанный скрипт.
Скрипт был переделан на обновленный протокол, но не работал. При дебагинге выяснилось, что причина в таймере - он тупо не запускается.
В качестве проверки написал тестовый скрипт содержащий только таймер, он так же не стал работать.

Вот этот тестовый скрипт:
Код:
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

Подскажите в чем проблема?
niGGa137 вне форума   Ответить с цитированием