Главная страница
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
9-1165408137
rts111
2006-12-06 15:28
2008.01.13
Сохранение 3D-моделей в *.pas файл


15-1196823493
Slider007
2007-12-05 05:58
2008.01.13
С днем рождения ! 5 декабря 2007 среда


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


2-1197447814
Footballer
2007-12-12 11:23
2008.01.13
Обмен информацией между .exe


15-1197263105
class_
2007-12-10 08:05
2008.01.13
При просмотре небольшого ролика в Интернет