Главная страница
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.48 MB
Время: 0.054 c
1-1089019981
StarCon
2004-07-05 13:33
2004.07.18
StackOverflow ошибка при запуске


1-1088931987
ida
2004-07-04 13:06
2004.07.18
заставить работать клавиатурные сокращения в динамич меню


1-1088744450
ilnarab
2004-07-02 09:00
2004.07.18
Копирование папки


6-1084704629
delpher_gray
2004-05-16 14:50
2004.07.18
HTTP Get, через TClientSocket


4-1086339472
Rem
2004-06-04 12:57
2004.07.18
Найти запущенную копию приложения и установить на нее фокус