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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-72635
Savage
2003-12-27 10:08
2004.01.23
Хитрый SELECT...


6-72852
Andersen
2003-11-20 15:45
2004.01.23
Удаленный коннект к SQLServerу


1-72788
OlegM
2004-01-13 09:42
2004.01.23
Прибавить к дате число дней


1-72837
Vi0let
2004-01-12 11:13
2004.01.23
Необходимо програмно вкл/выкл в системе сглаживание шрифтов...


14-72923
Undert
2003-12-31 18:33
2004.01.23
До конца 2003 года остались считанные часы у GMT +3 :)