Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
4-1181578038
Тохер
2007-06-11 20:07
2008.01.13
Как получить картинку с USB фотокамеры.


15-1196866783
Astaldo
2007-12-05 17:59
2008.01.13
Помогите пожалуйста


2-1197824136
Stepper
2007-12-16 19:55
2008.01.13
AnimateWindow(Handle, 500, AW_HIDE or AW_BLEND);


2-1197397963
dest81
2007-12-11 21:32
2008.01.13
Просмотр файлов


2-1197378358
9899100
2007-12-11 16:05
2008.01.13
замена конструктора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский