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

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

KillTimer [D7, WinXP]


xeron ©   (2006-12-28 19:43:00) 

Привет всем! С наступающим :)

Никак не могу разобраться с таймером на winapi :(

     SetTimer(hwnd, IDT_MAIN, 20, NULL);
//параметры
//1. Хэндл окна
//2. Константный идентификатор таймера (задаётся напримет так: const IDT_MAIN 5001)
//3. Время задержки в мс (в данном случае 20мс)
//4. Вроде указатель на колбэк функцию, при использовании
//обработчика не обязателен

     KillTimer(hwnd, IDT_MAIN);
//параметры
//1. Хэндл окна
//2. Константный идентификатор таймера

Делаю так:

[code]
const
IDT_MAIN=2007;

...

Procedure Proc;
begin
MessageBox(0, 'Yo', 'Caption', 0);
end;

...

Procedure SetT;
begin
SetTimer(0, IDT_MAIN, 2000, @proc);
end;

...

procedure KillT;
begin
KillTimer(0, IDT_MAIN);
end;
[/code]

Сам таймер работает нормально... Но вот при вызове KillTimer(0, IDT_MAIN); никакой реакции...
Таймер не умирает...
Что я делаю не так?

P.S.
Программа не имеет окон...


GanibalLector   (2006-12-29 20:45:00) [1]

типа :

idTimer:=SetTimer(0, IDT_MAIN, 2000, @proc);
...
KillTimer(0, idTimer);


xeron   (2006-12-28 21:02:00) [2]

Спасибо, будем разбираться :)


Dmitrij_K   (2006-12-28 20:38:00) [3]

Удачи и с новым годом!


Dmitrij_K   (2006-12-28 20:37:00) [4]

Признайся, справку читать пытался?

KillTimer()
Parameters
hWnd
[in]Handle to the window associated with the specified timer. This value must be the same as the hWnd value passed to the SetTimer function that created the timer.
uIDEvent
[in]Specifies the timer to be destroyed. If the window handle passed to SetTimer is valid, this parameter must be the same as the nIDEvent value passed to SetTimer. If the application calls SetTimer with hWnd set to NULL, this parameter must be the timer identifier returned by SetTimer.


Anatoly Podgoretsky   (2006-12-28 20:33:00) [5]

> xeron  (28.12.2006 20:32:02)  [2]

А ты посмотри, не будь таким самоувереным.


xeron   (2006-12-28 20:32:00) [6]

Ошибок никаких нет, просто таймер при вызове KillTimer(0, IDT_MAIN); не останавливается и продолжает работать...


Anatoly Podgoretsky   (2006-12-28 20:19:00) [7]

> xeron  (28.12.2006 19:43:00)  [0]

А какая ошибка возникает?


Наверх

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