Главная страница
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.019 c
2-1197378358
9899100
2007-12-11 16:05
2008.01.13
замена конструктора


11-1182446007
Vladimir Kladov
2007-06-21 21:13
2008.01.13
Версия 2.69


15-1197245273
Анатолий Подгорецкий
2007-12-10 03:07
2008.01.13
Обсуждения качества модерирования форумов


15-1196765928
boriskb
2007-12-04 13:58
2008.01.13
Молодым везде у нас дорога


1-1192255008
Key
2007-10-13 09:56
2008.01.13
"Устаревший стиль объекта"