Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.13;
Скачать: CL | DM;

Вниз

Как выполнять одинаковый код для всех окон проекта?   Найти похожие ветки 

 
VovIk   (2007-12-12 13:41) [0]

В моем проекте есть много форм. Все они, кроме главного окна, вызываются с помощью TForm.ShowModal, в т.ч. одна из другой. Мне нужно, чтобы при открытии и закрытии всех таких форм, в т.ч. главной формы, выполнялись некие куски кода. Конечно, можно эти два куска кода оформить в виде двух процедур и для каждой формы в OnShow и OnClose вставить вызов таких процедур.

Но нельзя ли как-то один раз описать вызов таких процедур, чтобы они выполнялись для всех окон при их открытии и закрытии? Может де-то на уровне TApplication?


 
clickmaker ©   (2007-12-12 13:46) [1]


> VovIk   (12.12.07 13:41)

сделать наследника TForm с переопределенными ShowModal и Close, туда вставить все, что нужно, а формы наследовать уже от него.


 
VovIk   (2007-12-12 13:51) [2]

clickmaker ©   (12.12.07 13:46) [1]

Верно, только проект большой - 59 форм. Если начинать переносить весь функционал на нового наследника...


 
KSergey ©   (2007-12-12 13:54) [3]

> VovIk   (12.12.07 13:51) [2]
> Верно, только проект большой - 59 форм. Если начинать переносить
> весь функционал на нового наследника...

Это легко сделать обычной заменой текстовых шаблонов в pas и dfm файлах


 
VovIk   (2007-12-12 14:01) [4]

KSergey ©   (12.12.07 13:54) [3]

Ага, значит я сделал наследника стандартной TForm и обозвал ее TFormX. Потом в pas-ах поменял:

type
 TMyForm = class(TForm)
...

на

type
 TMyForm = class(TFormX)
...

А что я должен делать с dfm-ками? Не достаточно ли просто перекомпилировать проект?


 
clickmaker ©   (2007-12-12 14:12) [5]


> А что я должен делать с dfm-ками?

inherited TMyForm: TFormX
вместо первой строки


 
clickmaker ©   (2007-12-12 14:14) [6]

тьфу, то есть
inherited MyForm: TMyForm


 
VovIk   (2007-12-12 14:14) [7]

clickmaker ©   (12.12.07 14:12) [5]
KSergey ©   (12.12.07 13:54) [3]

Большое спасибо :)



Страницы: 1 вся ветка

Текущий архив: 2008.01.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1197642802
destrs
2007-12-14 17:33
2008.01.13
dll, что не так делаю...


6-1177322028
Ypbi4
2007-04-23 13:53
2008.01.13
ClientSocket -- получение ответа на запрос


15-1197014448
smolin
2007-12-07 11:00
2008.01.13
Как сменить иконку и exe при компиляции ?


11-1182424519
LazyBob
2007-06-21 15:15
2008.01.13
Некорректный шрифт на KolGroupBox


15-1196879629
@!!ex
2007-12-05 21:33
2008.01.13
Темы для XP