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

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

Как вызвать процедуру после полного отображения главной формы? [D5, Win2k]


Smok_er ©   (2002-01-22 04:49:00) 

Дамы и господа!
Такой вот к вам вопрос: как вызвать некую процедуру после полного создания и отображения главной формы? Методы OnCreate и OnShow не подходят, потому что сначала выполняется эта процедура (что довольно-таки долго), а уже потом отображается форма.
Заранее спасибо!


SoftOne   (2002-01-23 04:01:00) [1]

Sorry. Писал предыдущий ответ думая о своих проблемах. Однако по серьезном размышлении, понял, что был не совсем прав. По сути вопроса, наверное, OnActivate - лучшее решение, но с обязательным учетом однократностивыполнения. Совет Digitman, вследствии идеологии Windows, может оказаться не подходящим (опять вспоминаю свои проблемы) поскольку между завершением OnShow и выполнением PostMessage может пройти некоторое время.


SoftOne   (2002-01-23 03:11:00) [2]

2 Smok_er.
Имхо, по OnActivate ты можешь заработать геморрой, поскольку он может вызываться н-ное количество раз в ходе работы приложения. Так же и OnIdle.
Если требуется однократный вызов некоей функции при запуске приложения, но после отображения формы, то имхо Digiman дал наилучший совет.


Smok_er   (2002-01-23 03:01:00) [3]

Всем откликнувшимся огромное спасибо!
Методом OnActivate все здорово получается!


dimsfdf   (2002-01-22 13:48:00) [4]

Application.OnIdle


aus   (2002-01-22 12:28:00) [5]

OnActivate


Johnny Smith   (2002-01-22 09:42:00) [6]

Можешь сделать так: перед запуском своей процедуры написать Form1.Repaint;


Digitman   (2002-01-22 08:18:00) [7]

В обработчике OnShow() пошли самому себе какое-нибудь предопределенное сообщение вызовом PostMessage(). В обработчике сообщения вызывай свою "некую процедуру"


Наверх

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