![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать процедуру после полного отображения главной формы? [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(). В обработчике сообщения вызывай свою "некую процедуру"