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

Вниз

перекрестная инициализация объектов   Найти похожие ветки 

 
msgipss   (2004-01-12 10:07) [0]

сорьки за ламерский вопрос..
хочу использовать иерархическую структуру классов,собственно вопрос:
при описании свойств класса А1 используется класс А2,
а одним из свойств класса А2, является сласс А1,
описание каждого из классов находятся в разных модулях,
как разрулить перекрестное декларирование модулей.


 
alex_***   (2004-01-12 10:21) [1]

напрямую нельзя использовать в интерфейсной части перекрестные ссылки.

1. Можно изменить иерархию классов: ввести базовый класс для A1, A2 с виртуальными методами и давать ссылку на него в A1,A2. Поскольку в implementation можно будет включить паралельный класс, то реальный объект можно создать нужного типа.

2. Напрямую не давать паралельных ссылок, а дать ссылку на TObject и пользовать приведение типов каждый раз.

Я ипользовал оба способа. Может кто-нибудь еще что-ть подскажет.


 
msgipss   (2004-01-12 10:30) [2]

Спасибо, наверное первый способ не подойдет, уж очень они разные, а второй пробую..


 
Broot   (2004-01-12 10:33) [3]

А в чем проблема то? Если описания классов находятся в разных модулях, бери да пользуй. Если в одном, то соществует упреждающее объявление класса: TMyClass = class;


 
TUser   (2004-01-12 10:38) [4]


> напрямую нельзя использовать в интерфейсной части перекрестные
> ссылки.

А в implementation можно.
implementation
uses ... // здесь можно писать все, что угодно


 
alex_***   (2004-01-12 10:40) [5]

если в одном модуле то проще [3]


 
msgipss   (2004-01-12 13:12) [6]

Всем спасибо, тема закрыта



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

Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
1-72773
Anton.
2004-01-13 14:41
2004.01.23
Как связать StringGrid и ScrollBar?


4-72981
Dimaxx
2003-11-15 13:30
2004.01.23
DeviceIOControl + IOCTL_Disk_Format_Tracks_Ex


11-72694
Igit
2003-05-09 13:45
2004.01.23
ChangeDisplaySettings не работает...


14-72892
Рулон Обоев
2004-01-04 19:27
2004.01.23
Ну уж эти англичане....


1-72827
MVova
2004-01-13 15:41
2004.01.23
TADOConnection и TThread





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