Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не работает SetTimer (( [D7, XP]


awer ©   (2011-03-25 20:26:00) 

Делаю так:
procedure t;
begin
//...
end;
SetTimer(0, 0, 1000, @t);

Или так:
SetTimer(0, 1, 1000, @t);
WM_TIMER:
//...

И в первом и во втором случае реакции нету, таймер ошибки не возвращает.


DVM   (2011-03-26 10:13:00) [1]


> grigor   (26.03.11 01:51) [4]


> Процедура обpатного вызова.

stdcall не забыл? Еще пройди по ссылке и посмотри ее правильный вид.


> grigor   (26.03.11 01:51) [4]


> Я же говорю ошибку не возвращает.

Тогда второй вариант работает, как я и написал. Смотри свой обработчик WM_TIMER - там у тебя ошибка или в целом в оконной процедуре.


Германн   (2011-03-26 01:58:00) [2]


> Я же говорю ошибку не возвращает.

Тогда что значит "Не работает SetTimer"?
Если "второй вариант" не работает, то нужно искать ошибку где-то в другом месте.


grigor   (2011-03-26 01:51:00) [3]


> это что за хрень?

Процедура обpатного вызова.


> не верю.
> SetTimer функция вообще то. GetLastError что говорит.

Я же говорю ошибку не возвращает.

Leon-Z
Без VCL


Leon-Z   (2011-03-25 21:44:00) [4]


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;


DVM   (2011-03-25 20:43:00) [5]


> 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


grigor   (2011-03-25 20:27:00) [6]

Пардон, второй вариант такой, но тоже не работает:
SetTimer(Handle, 1, 1000, nil);


Наверх

Титульная страница Поиск, карта сайта Написать письмо