Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Создание таймера   Найти похожие ветки 

 
_alex_   (2004-06-07 15:17) [0]

Добрый день!
Как мне создать таймер во время работы приложения (без формы).
Я делал так:
 tmrClock := TTimer.Create(nil);
 tmrClock.OnTimer := StartTmrClock;
 tmrCrtGug.Interval:= 1500;
 tmrCrtGug.Enabled := true;
….

procedure StartTmrClock;
begin
 ….
end;
В чем здесь ошибка?


 
Digitman ©   (2004-06-07 15:40) [1]

в том что св-во TTimer.OnTimer при назначении требует указания имени МЕТОДА ОБЪЕКТА, а не имени процедуры

иными словами, перед таким назначением  ты обязан описать некий класс, имеющий одним из методов метод с прототипом TNotifyEvent, в ран-тайм создать экз-р такого класса и только после этого производить назначение

читай в справке все касаемое ключевых различий между просто procedure и procedure of object


 
ancara   (2004-06-07 16:08) [2]


> во время работы приложения (без формы).

это как вообще без формы? без единой формочки?
мне тоже интересно как это сделать, потому что API-функция SetTimer первым своим параметром требует Handle.


 
Digitman ©   (2004-06-07 16:15) [3]


> мне тоже интересно как это сделать, потому что API-функция
> SetTimer первым своим параметром требует Handle.


глазенки-то разуваем, читаючи справку :

hWnd

Identifies the window to be associated with the timer. This window must be owned by the calling thread. If this parameter is NULL, no window is associated with the timer and the nIDEvent parameter is ignored.

черным же по белому написано, что никто от тебя не требует в обязательном порядке первым параметром передавать хэндл - ты вправе передать в этом параметре nil


 
GuAV ©   (2004-06-07 19:06) [4]

Digitman ©   (07.06.04 16:15) [3]

нет, у него VCL-таймер, у него оkно через AllocateHwnd

Digitman ©   (07.06.04 15:40) [1]

да или из процедуры сделать метод
typ TMethod=record Code,Data: pointer end;


 
GuAV ©   (2004-06-07 19:20) [5]


> Digitman ©   (07.06.04 16:15) [3]
>
> нет, у него VCL-таймер, у него оkно через AllocateHwnd

точнее это адресовано ancara   (07.06.04 16:08) [2]



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
3-1087766861
Damager
2004-06-21 01:27
2004.07.18
Резервная копия БД Paradox


4-1086531338
Max
2004-06-06 18:15
2004.07.18
Чем заменить Application.ProcessMessages?


3-1087732660
a123
2004-06-20 15:57
2004.07.18
User Abort


14-1088407605
SammIk
2004-06-28 11:26
2004.07.18
Что-то странное стряслось!?


3-1088330071
Pafnuty
2004-06-27 13:54
2004.07.18
Не вижу вновь добавленное поле базы .....