Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов процедуры после выполнения таймера [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо