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