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

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

Запуск расчета сразу после отрисовки формы


Страницы:   1 2 3

Franzy ©   (2009-09-01 13:43:00) 

Есть программа, выполняющая некий трудоемкий расчет. Нужно, чтобы расчет начинался сразу после запуска программы, при этом окно программы должно быть активировано, т.е. в фокусе и поверх остальных окон, т.к. на форму в соотв. оконшки выводятся различные компоненты отчета о прогрессе расчета.

Если пуск прописать в OnCreate, окошко не рисуется вообще до окончания расчета. В OnShow - окошко не активируется. Вставка form1.activate не помогает. Т.е. программа статует как бы в свернутом состоянии. Причем при этом "висит" и не разворачивается, несмотря на вставки Application.processmessages при каждом обновлении отчета.

Как это реализовать правильно?


sniknik   (2009-09-01 14:11:00) [41]

можно послать самому сете сообщение и уже в нем чтото делать, точно будет после OnShow, если посылать в нем.
или банально поставить таймер, включать там же и выключать после 1й сработки.
или поток стартовать, к тому времени когда нужда будет синхронизироваться для отрисовки результатов, форма уже успеет появиться.


clickmaker   (2009-09-01 14:09:00) [42]

> А еще варианты есть?

Application.ProcessMessages в цикле расчета после очередной итерации.
А чем поток не устраивает?


Franzy   (2009-09-01 14:03:00) [43]

А еще варианты есть?


Медвежонок Пятачок   (2009-09-01 13:50:00) [44]

и правильно что забыл. ибо уточнение лишнее.


Franzy   (2009-09-01 13:50:00) [45]

Забыл уточнить: сами расчетные процедуры находятся в подключаемой dll.


clickmaker   (2009-09-01 13:48:00) [46]

> Как это реализовать правильно?

Запускать расчет в отдельном потоке. Тогда не суть важно, в каком событии.
Оповещать различные компоненты отчета о прогрессе расчета можно через PostMessage форме.


Страницы:   1 2 3

Наверх

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