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

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

Вопрос по фрэймам:


Ega23 ©   (2005-07-06 11:50:00) 

у TForm есть события OnCreate и OnDestroy, где я могу какую-то инициализацию и финализацию провести. Как быть с TFrame?
Пока единственное, что придумал - переопределение AfterConstruction и BeforeDestruction.
Какие ещё варианты можете предложить?


Ega23   (2005-07-06 14:44:00) [1]

А, так фреймы в ран тайм создаются? Тогда чего голову ломать, переопределяй коструктор и не парься..

Ага. Ну, собственно говоря, я так и сделал.


jack128   (2005-07-06 14:36:00) [2]

Ega23 ©   (06.07.05 14:21) [9]
Дело обстоит так: есть главная форма, на ней - PageControl. При загрузке главной формы идёт коннект к базе, считывается текущая конфигурация COM-объектов, далее идёт их instantination. Если у какого-то объекта есть свой фрэйм, то он создаётся, проводится его базовая инициализация, после чего этот фрэйм добавляется к главной форме.


А, так фреймы в ран тайм создаются? Тогда чего голову ломать, переопределяй коструктор и не парься..


Ega23   (2005-07-06 14:21:00) [3]

А вот это все надо делать после полной загрузки формы, иначе есть шанс долго удивляться, чем же контролы заполнились.
Я б не поленился сделать базовый фрейм, базовую форму, и из ее Loaded вызывать инциализацию фреймов.
Тем более, что это не так долго, как кажется


Дело обстоит так: есть главная форма, на ней - PageControl. При загрузке главной формы идёт коннект к базе, считывается текущая конфигурация COM-объектов, далее идёт их instantination. Если у какого-то объекта есть свой фрэйм, то он создаётся, проводится его базовая инициализация, после чего этот фрэйм добавляется к главной форме.


Petr V. Abramov   (2005-07-06 13:56:00) [4]

> Ega23 ©   (06.07.05 13:39) [7]
> А задача сама - как всегда:
 А вот это все надо делать после полной загрузки формы, иначе есть шанс долго удивляться, чем же контролы заполнились.
 Я б не поленился сделать базовый фрейм, базовую форму, и из ее Loaded вызывать инциализацию фреймов.
 Тем более, что это не так долго, как кажется


Ega23   (2005-07-06 13:39:00) [5]

Спасибо всем.
Остановился на переопределении конструктора с некоторыми параметрами. А задача сама - как всегда: открыть какие-то запросы, что-то куда-то спозиционировать, контролы заполнить дефолтными значениями...


jack128   (2005-07-06 13:36:00) [6]

Смотря что те нужно. Что ты подрузамеваешь под инициализацией..
Я так понял тя беспокоит инициализация дезин тайм компоннетов?

начало загрузки формы
 начало загрузки фрема
    загрузка свойств компонентов, так как эти свойства заданы на фреме
 конец загрузки фрема // все компоненты на фрейме уже созданы, но некоторые их свойства еще будут переопределены
                      // если тя это не смущает, по перекрывай конструктор фрейма или его AfterConstraction
 загрузка свойств компонентов, так как эти свойства заданы на форме // тут возможно будет переопределены ствойства некоторых компоннетов на фрейме
конец загрузки формы // Вызов метода Loaded всех компонентов, в том числе и фрейма


Игорь Шевченко   (2005-07-06 12:50:00) [7]


> Пока единственное, что придумал - переопределение AfterConstruction
> и BeforeDestruction.


Нормальное решение


Ega23   (2005-07-06 12:48:00) [8]

Что-ж, подождём дядю Юру...  :о)


TUser   (2005-07-06 12:41:00) [9]

> Какие ещё варианты можете предложить?

Написать наследника и переписать конструктор (или Loaded) и деструктор.

PS. Сейчас ЮЗ расскажет почему у него нет OnCreate :)


Stakan   (2005-07-06 12:32:00) [10]

initialization
finalization


isasa   (2005-07-06 12:29:00) [11]


constructor Create(Owner: TComponent); override;
destructor Destroy; override;


Наверх

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