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

Вниз

Новый класс от TFrame   Найти похожие ветки 

 
AlexanderSK   (2003-09-30 13:56) [0]

Проблема в следующем:
1. У меня есть несколько фреймов, в которых есть несколько совершенно одинаковых методов.
2. Я хочу создать новый класс (предок TFrame или TCustomFrame) и перенести туда эти методы.
3. После этого нужно будет этот новый класс сделать родителем уже имеющихся у меня фреймов.

Подскажите, пожалуйста, как это правильно сделать?


 
jack128 ©   (2003-09-30 14:06) [1]


> После этого нужно будет этот новый класс сделать родителем
> уже имеющихся у меня фреймов.

Открыть dfm существующих фреймов и заменить первое слово object на inherited. В pas файле изменить
TMyFrame1 = class(TFrame) на TMyFrame = class(TMyCustomFrame)

ps все изменения производить в блокноте


 
AlexanderSK   (2003-09-30 14:11) [2]

>jack128
А можно по подробнее что означает замена object на inherited в dmf-ке?

Заранее благодарен!


 
AlexanderSK   (2003-09-30 14:14) [3]

т.е. в dfm.


 
jack128 ©   (2003-09-30 14:22) [4]


> А можно по подробнее
...
Куда подробнее? Открыть dfm - файл в блокноте сложно?


 
AlexanderSK   (2003-09-30 14:34) [5]

>jack128
>Куда подробнее? Открыть dfm - файл в блокноте сложно?

Нет не сложно! Я спрашивал о теоретическом аспекте замены object на inherited. Что это означает с т.з. объектной модели Delphi?


 
KSergey ©   (2003-09-30 14:35) [6]

2. Я хочу создать новый класс (предок TFrame или TCustomFrame) и перенести туда эти методы.

Этот новый класс должен быть потомком TFrame (проще), но не его предком.
Или я неверно понял фразу.


 
KSergey ©   (2003-09-30 14:38) [7]

[5] AlexanderSK (30.09.03 14:34)
Нет не сложно! Я спрашивал о теоретическом аспекте замены object на inherited. Что это означает с т.з. объектной модели Delphi?


Ну то, что и требовалось получить в вопросе ;)
Что этот класс наследуется от другого пользовательского
А от какого - это в pas-файле указывается

PS
А, к стати, занятная нелогичность получается: фрейм (в данном случае) все равно от TFarame наследуется же, но не inherited....
Видимо тут что-то свое имелось в виду.


 
AlexanderSK   (2003-09-30 14:49) [8]

>KSergey © (30.09.03 14:35) [6]
>Этот новый класс должен быть потомком TFrame (проще), но не его предком.
1.Новый класс (TMyFrame) дожен быть потомком TFrame.
2.Этот новый TMyFrame должен заменить родителя уже существующим в проекте фреймам.


 
KSergey ©   (2003-09-30 14:56) [9]

Ну, так и будет
См. [1] jack128 © (30.09.03 14:06)

Только перед этим обязательно создать TMyCustomFrame ;)
Ну сделать автозамену некоторых фрагментов текста в сообщении [1] в соответствии с требованиями [8]

Ну не разжевывать же до конца, в самом то деле. Где полет мысли? ;)


 
Rem ©   (2003-09-30 15:00) [10]

1. Клацнуть правой кнопкой на фрейме-родителе и выбрать "Add to Repository..." и указать на какую страницу репозитория и под каким именем размещать.
2. "File"-"New"-"Other...". Открыть страницу, выбрать фрейм и указать (внизу окна) способ создания нового фрейма: Копирование, Наследование или Использование.


 
AlexanderSK   (2003-09-30 15:01) [11]

Написал. Поменял.
Теперь при открытии проекта получаю - "Error ceating form: Ancestor for "TMyCustomFrame" not found."

TMyCustomFrame лежит в отдельном юните.

В чем дело?


 
icWasya ©   (2003-09-30 15:10) [12]

давай поподробнее, что сделал и в каком порядке


 
AlexanderSK   (2003-09-30 15:23) [13]

Все со все разобрался! Всем бооольшое спасибо!



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
14-27688
Adder
2003-09-21 21:44
2003.10.09
Чего хотят флеймеры? О Боже! Чего же они хотят?


1-27523
Vitaliygavrilov
2003-09-26 11:18
2003.10.09
Как поместить иконку моей программы в меню


14-27671
альтаир
2003-09-22 11:24
2003.10.09
Список процессов


3-27317
Zhouck
2003-09-17 17:40
2003.10.09
Файл конфигурации - переменное число параметров


1-27450
DrFox
2003-09-27 21:21
2003.10.09
Исключения Компонента