Главная страница
    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.008 c
1-27568
Alex Shulg
2003-09-26 18:09
2003.10.09
Отображение Splash-формы!


14-27724
Mystic
2003-09-15 15:16
2003.10.09
Шахматы, игра с компьютеров.


1-27530
Tolik
2003-09-30 01:36
2003.10.09
Вопрос по ListBox у


1-27515
bss
2003-09-30 11:09
2003.10.09
Как определить кем из пользователей блокируется файл


3-27330
Vemer
2003-09-20 23:54
2003.10.09
Interbase 7.0 + Delphi 6 + проблемы с русским языком





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