Форум: "Начинающим";
Текущий архив: 2014.07.06;
Скачать: [xml.tar.bz2];
ВнизВызов процедуры после выполнения таймера Найти похожие ветки
← →
sas9568635 © (2013-09-04 23:47) [0]Форма.Таймер. В таймере выполняются процедуры. Необходимо сделать так что-бы после того как тайиер END(ВНЕ ТАЙМЕРА) вызывалась процедура. Как это сделать?
← →
[ВладОшин] © (2013-09-05 00:06) [1]postmessage
← →
sas9568635 © (2013-09-05 00:27) [2]А код- пример можно?...
← →
[ВладОшин] © (2013-09-05 00:51) [3]сколько угодно примеров в unit Forms;
т.е. последней строкой в таймере посылается сообщение postmessage.
оно обрабатывается неким окном (например, самой этой формой) когда-то позже, когда уже
> тайиер END
← →
Германн © (2013-09-05 00:53) [4]Ночь, улица, фонарь, аптека...
Ей богу в оригинале это было гораздо интереснее.
← →
[ВладОшин] © (2013-09-05 10:18) [5]Ладно, вот
Если программа запущена без человека(из планировщика у меня( лень переписать на консоль)), она делает что надо (в 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;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.07.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c