Вниз
Скачать: CL | DM;

TTimer без TForm   Найти похожие ветки 

 
Пивоман   (2002-04-28 21:16) [0]

Люди!!!
Помогите: мне нужен таймер, но не нужна форма.
Как мне правильно инициализировать таймер в этом случае?


 
alxx ©   (2002-04-28 21:21) [1]

procedure OnTimer(Sender: TObject);
Begin
Showmessage("Test");
End;

...

Var Timer:TTimer;
begin
Timer:=TTimer.Create(nil);
Timer.OnTimer:=OnTimer;
Timer.Interval:=100;
Timer.Enabled:=True;
End;



 
Anatoly Podgoretsky ©   (2002-04-28 21:29) [2]

И будет ошибка при компиляции, в строке Timer.OnTimer:=OnTimer;


 
alxx ©   (2002-04-28 21:35) [3]

Ну, вообще-то, procedure OnTimer - должен быть методом объекта:

Procedure MyObject.OnTimer(Sender:TObject);


 
Пивоман   (2002-04-28 21:37) [4]

>Anatoly Podgoretsky ©

угу! ошибку выдает! а что делать, не подскажете?


 
drpass ©   (2002-04-28 21:39) [5]

А что, будет работать? TTimer инкапсулирует стандартную функцию винды SetTimer. Она требует дескриптор окна для привязки таймера. Нет родительского оконного компонента (читай - формы) - нет дескриптора - по идее, нет таймера. Открой второй поток с низким приоритетом, в нем гоняй GetTickCount или что тебе нравится, и на основе этого реализуй таймер


 
Dy-Ty   (2002-04-29 08:10) [6]

можно сделать все горадо проще (GetTickCount - это конечно хорошо, но .....)

1.объявляешь процедуру, которая будет срабатывать по таймеру
procedure prPr;
begin
MessageBox(0,"yyy","yyy",MB_OK);
end;

2.объявляешь переменную=идентификатор таймера
var pID : integer;
3.создаешь таймер
pID := SetTimer(0,0,300,@prPr); {300 - интервал}
4.грохаешь таймер
KillTimer(0,pID);
и ВСЁ !!!


 
Anatoly Podgoretsky ©   (2002-04-29 08:27) [7]

Пивоман (28.04.02 21:37)
Тебе ответил alxx

drpass © (28.04.02 21:39)
Проверь



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
7-39872
Serega__2
2001-12-18 09:21
2002.05.13
Господа, подскажите плз как програмно поменять ориентацию у мышки:)


6-39822
AlexRush
2002-02-28 18:14
2002.05.13
WinSock2 API - чтение данных из сокета


1-39766
AndreyS
2002-04-28 11:22
2002.05.13
Как принудительно сделать рефреш окна.


1-39742
Ross
2002-04-27 19:22
2002.05.13
Где моя ошибка?


4-39915
skiph
2002-01-22 11:52
2002.05.13
Сканирование реестра




   Наверх