Текущий архив: 2011.07.03;
Скачать: CL | DM;
ВнизНе работает SetTimer (( Найти похожие ветки
← →
awer (2011-03-25 20:26) [0]Делаю так:
procedure t;
begin
//...
end;
SetTimer(0, 0, 1000, @t);
Или так:SetTimer(0, 1, 1000, @t);
WM_TIMER:
//...
И в первом и во втором случае реакции нету, таймер ошибки не возвращает.
← →
grigor (2011-03-25 20:27) [1]Пардон, второй вариант такой, но тоже не работает:
SetTimer(Handle, 1, 1000, nil);
← →
DVM © (2011-03-25 20:43) [2]
> procedure t;
> begin
> //...
> end;
это что за хрень?
http://msdn.microsoft.com/en-us/library/ms644907(VS.85).aspx
> Пардон, второй вариант такой, но тоже не работает:
> SetTimer(Handle, 1, 1000, nil);
не верю.
SetTimer функция вообще то. GetLastError что говорит.
http://msdn.microsoft.com/en-us/library/ms644906(VS.85).aspx
← →
Leon-Z © (2011-03-25 21:44) [3]
var
MyTimer: TTimer;
procedure TMainForm.MyTimerProc(Sender: TObject)
begin
// здесь считаем время
end;
procedure TMainForm.Activate(Sender: TObject)
begin
MyTimer := TTimer.Create;
MyTimer.Interval := 1000;
MyTimer.OnTimer := MyTimerProc;
MyTimer.Enabled := True;
end;
procedure TMainForm.Deactivate(Sender: TObject)
begin
MyTimer.Enabled := False;
MyTimer.Free;
end;
← →
grigor (2011-03-26 01:51) [4]
> это что за хрень?
Процедура обpатного вызова.
> не верю.
> SetTimer функция вообще то. GetLastError что говорит.
Я же говорю ошибку не возвращает.
Leon-Z
Без VCL
← →
Германн © (2011-03-26 01:58) [5]
> Я же говорю ошибку не возвращает.
Тогда что значит "Не работает SetTimer"?
Если "второй вариант" не работает, то нужно искать ошибку где-то в другом месте.
← →
DVM © (2011-03-26 10:13) [6]
> grigor (26.03.11 01:51) [4]
> Процедура обpатного вызова.
stdcall не забыл? Еще пройди по ссылке и посмотри ее правильный вид.
> grigor (26.03.11 01:51) [4]
> Я же говорю ошибку не возвращает.
Тогда второй вариант работает, как я и написал. Смотри свой обработчик WM_TIMER - там у тебя ошибка или в целом в оконной процедуре.
Страницы: 1 вся ветка
Текущий архив: 2011.07.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.004 c