Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > последовательная работа с 3 и более формами |
Автор: Dukalys 12.9.2010, 14:53 |
Помогите пожалуйста реализовать следующее - распишу по этам ( в обязательной последовательности) 1. Создаётся форма FormConf - конфигурационная, содержит в себе едиты и т.д. с настроечной информацией. эта форма Должна быть всё время HIDE (пока её не вызвали из главной формы методом show). нужна чтобы читать значения едитов в дальнейшем. 2. Создаётся форма FormInitialize - Инициализация, происходят проверки , в том числе с данными из FormConf. сразуже после этого осуществляется переход к ГЛАВНОЙ ФОРМЕ Form1 переход осуществляется в OnCreate спустя sleep(1000); 3. Создаётся главная форма Form1, при этом форма инициализации(п.2) Free. Сложность в том, что все задачи сводятся к formX.Hide в OnCreate что невыполнимо изза особенностей дельфы. Как мне тут скрывать форму и соответственно описать исходный код создания форм (последовательность, особенности) пример попытался написать, ... запутался в нём... |
Автор: cat512 12.9.2010, 16:57 |
Если ход процесса инициализации отображать не нужно, то форма инициализации как таковая не нужна. Зачем для инициализации использовать отдельную форму? Инициализацию можно провести и в главной форме, например в конструкторе. Если ход процесса иниц. отображать нужно, то делается splash, и для взаимодействия между формами, используется либо прямые вызовы методов форм, либо механизм виндовых сообщений. Например можешь сделать так: выстави splash-у FormStyle - fsStayOnTop, В конструкторе гл. формы проведи инициализацию, и после делай close splash форме, либо посылай сообщение WM_CLOSE. |
Автор: Dukalys 12.9.2010, 17:47 |
угу спасибо, покопаю в этом направлении. конечно, если правильно, то форму конфигурации можно не создавать, а обойти это дело. а Вот инициализация сопровождается индикацией о выполнении. 2 формы я связать могу, просто по созданию одной создавать другую, а в созщдании другой уюить Free предыдущую. а вот с 3 формами, при этом ещё и ""Hide в OnCreate"", нужно колдовать , темболее что при создании и скрытии её колбасит- появляется исчезает, что не есть хорошо. |
Автор: bems 16.9.2010, 01:38 |
Создавай и показывай формы в dpr-файле. Чтобы форма созданная первой не становилась главной создавай ее вызовом конструктора, а не Application.CreateForm |
Автор: northener 17.9.2010, 03:19 |
Отличный совет от "эксперта"! Вот только не понятно как избежать конфликтов с Дельфи. Примите и прочь! |
Автор: bems 17.9.2010, 14:29 |
Конфликтов не будет. А northener отправляется в читальный зал за хамство. |