![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов процедуры после выполнения таймера [D7]
sas9568635 © (2013-09-04 23:47:00)Форма.Таймер. В таймере выполняются процедуры. Необходимо сделать так что-бы после того как тайиер END(ВНЕ ТАЙМЕРА) вызывалась процедура. Как это сделать?
[ВладОшин] (2013-09-05 10:18:00) [1]Ладно, вот
Если программа запущена без человека(из планировщика у меня( лень переписать на консоль)), она делает что надо (в onShow) и сама себе шлет сообщение, что надо закрыться. (Иначе было бы AV, т.к. метод показа не завершен, а уже закрывается)
форма:
private { Private declarations }
procedure OnMsgWMUSER(var Message: TMessage); message WM_USER;
Реализация(у меня тут выход, вставить свое, нужное)
procedure TfrmMain.OnMsgWMUSER(var Message: TMessage);
begin
if (TMessage(Message).WParam = 666) and (TMessage(Message).LParam = 666) then
DoQuit;
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
if ParamStr(1) = 'NOUSER' then
begin
PostMessage(Handle, WM_USER, 666, 666);
end;
end;
Германн (2013-09-05 00:53:00) [2]Ночь, улица, фонарь, аптека...
Ей богу в оригинале это было гораздо интереснее.
[ВладОшин] (2013-09-05 00:51:00) [3]сколько угодно примеров в unit Forms;
т.е. последней строкой в таймере посылается сообщение postmessage.
оно обрабатывается неким окном (например, самой этой формой) когда-то позже, когда уже
> тайиер END
sas9568635 (2013-09-05 00:27:00) [4]А код- пример можно?...
[ВладОшин] (2013-09-05 00:06:00) [5]postmessage