![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выполнять одинаковый код для всех окон проекта? [D6, XP]
VovIk © (2007-12-12 13:41:00)В моем проекте есть много форм. Все они, кроме главного окна, вызываются с помощью TForm.ShowModal, в т.ч. одна из другой. Мне нужно, чтобы при открытии и закрытии всех таких форм, в т.ч. главной формы, выполнялись некие куски кода. Конечно, можно эти два куска кода оформить в виде двух процедур и для каждой формы в OnShow и OnClose вставить вызов таких процедур.
Но нельзя ли как-то один раз описать вызов таких процедур, чтобы они выполнялись для всех окон при их открытии и закрытии? Может де-то на уровне TApplication?
clickmaker (2007-12-12 14:14:00) [1]тьфу, то есть
inherited MyForm: TMyForm
VovIk (2007-12-12 14:14:00) [2]clickmaker © (12.12.07 14:12) [5]
KSergey © (12.12.07 13:54) [3]
Большое спасибо :)
clickmaker (2007-12-12 14:12:00) [3]
> А что я должен делать с dfm-ками?
inherited TMyForm: TFormX
вместо первой строки
VovIk (2007-12-12 14:01:00) [4]KSergey © (12.12.07 13:54) [3]
Ага, значит я сделал наследника стандартной TForm и обозвал ее TFormX. Потом в pas-ах поменял:
type
TMyForm = class(TForm)
...
на
type
TMyForm = class(TFormX)
...
А что я должен делать с dfm-ками? Не достаточно ли просто перекомпилировать проект?
KSergey (2007-12-12 13:54:00) [5]> VovIk (12.12.07 13:51) [2]
> Верно, только проект большой - 59 форм. Если начинать переносить
> весь функционал на нового наследника...
Это легко сделать обычной заменой текстовых шаблонов в pas и dfm файлах
VovIk (2007-12-12 13:51:00) [6]clickmaker © (12.12.07 13:46) [1]
Верно, только проект большой - 59 форм. Если начинать переносить весь функционал на нового наследника...
clickmaker (2007-12-12 13:46:00) [7]
> VovIk (12.12.07 13:41)
сделать наследника TForm с переопределенными ShowModal и Close, туда вставить все, что нужно, а формы наследовать уже от него.