var
t: TTimer
...
begin
t := TTimer.Create(nil)
Таймер в консольном приложении
Подскажите как создать таймер в консольной программе
Цитата:
Originally posted by OlegIM
Подскажите как создать таймер в консольной программе
Подскажите как создать таймер в консольной программе
Код:
Я наверное не точно задал вопрос. Таймер я создал правильно и включил его но ОнТаймер включится только тогда когда придет сообщение WM_TIMER. Как отловить это сообщение и передать управление таймеру?
Цитата:
Как отловить это сообщение и передать управление таймеру?
Таймер создаст своё окно сам, остается только поставить где-то цикл обработки сообщений:
Код:
var
msg: TMsg;
begin
...
while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
msg: TMsg;
begin
...
while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
Цитата:
Originally posted by Dian
Таймер создаст своё окно сам, остается только поставить где-то цикл обработки сообщений:
Таймер создаст своё окно сам, остается только поставить где-то цикл обработки сообщений:
Код:
var
msg: TMsg;
begin
...
while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
msg: TMsg;
begin
...
while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
А нафига? Консоль работает по несколько иному принципу и не надо Get/Dispatch пихать куда попало, если не хочешь геморроя лишнего. Есть и более "легальные" методы
Код:
CreateTimerQueueTimer(hNewTimer@, nill, lpCallbackProc, nill, 0, TimeOut, 0);
Ну, и удалить таймер надо будет с помощью DeleteTimerQueueTimer(nill, hTNewTimer, nill).
Цитата:
Есть и более "легальные" методы
Ну, и удалить таймер надо будет с помощью DeleteTimerQueueTimer(nill, hTNewTimer, nill).
Код:
CreateTimerQueueTimer(hNewTimer@, nill, lpCallbackProc, nill, 0, TimeOut, 0);
Ну, и удалить таймер надо будет с помощью DeleteTimerQueueTimer(nill, hTNewTimer, nill).
А где об этом почитать можно? В хелпе и вообще нигде не нашел.
Респект. Не знал об этой штуке
Цитата:
Originally posted by OlegIM
А где об этом почитать можно? В хелпе и вообще нигде не нашел.
А где об этом почитать можно? В хелпе и вообще нигде не нашел.
Вот небольшой док из MSDN
В какой библиотеке сидит эта штука?
Цитата:
Originally posted by OlegIM
В какой библиотеке сидит эта штука?
В какой библиотеке сидит эта штука?
WinBase - подключается по умолчанию... Сама функция в kernel32.dll
Цитата:
Originally posted by HarryAxe
WinBase - подключается по умолчанию... Сама функция в kernel32.dll
WinBase - подключается по умолчанию... Сама функция в kernel32.dll
Моя делфя не находит этой библиотеки.
Цитата:
Originally posted by OlegIM
Моя делфя не находит этой библиотеки.
Моя делфя не находит этой библиотеки.
У меня всё находит отлично... Ладно, скопирую декларации и щас выложу (обнови свой софт! :))
аналог в делфи - Windows
Хотя действительно, у меня в D7 такой функции компилер там не находит ;-)
Респект