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

Вниз

Новый класс от 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
4-27783
Xoy
2003-08-02 15:48
2003.10.09
Можно поставить хук на вызов определенной функции DLL?


14-27713
Soft
2003-09-21 19:08
2003.10.09
Могут ли дельфины философствовать?


1-27506
Izyum
2003-09-26 14:19
2003.10.09
Самомодификация exe-файла


11-27422
Nwm
2003-01-27 08:23
2003.10.09
KolDHTML, помогите. :(


1-27489
Max_
2003-09-26 17:43
2003.10.09
Освобождение памяти VarArray!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский