Вниз
Скачать: CL | DM;

Circular reference   Найти похожие ветки 

 
maxic   (2004-01-29 01:07) [0]

Есть 2 модуля с классами:

Unit1;

uses unit2;

type
TClassUnit1 = class
....
FField: TClassUnit2;
end;
-----------

Unit2;

uses unit1;

type
TClassUnit2 = class
....
FField: TClassUnit1;
end;

Естественно, при компиляции выдается ошибка Circular reference. Скажите, как можно ее избежать? Т.е. оставить, чтобы классы из обоих модулей ссылались друг на друга. Перенос все в один модуль нецелесообразен!


 
Германн ©   (2004-01-29 01:28) [1]

Ты не привел месторасположение секций interface и implementation!
Далее просто. Если оба объявления должны быть в секциях interface, то без дополнительного модуля, в котором описаны эти классы не обойтись.
Если же не так, то, хотя-бы, какое-то одно объявление должно быть помещено в секцию implementation


 
Palladin ©   (2004-01-29 02:37) [2]


> maxic (29.01.04 01:07)

Подумай еще раз над своей схемой. И почему перенос в один модуль не целесообразен, это очень дурной тон... если классы ссылаются друг на друга, то как минимум оно должны быть в одном модуле иначе плохо...



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
1-16483
Alexei Sviridov
2004-01-27 14:21
2004.02.06
RxLoginDialog


8-16533
killsniper
2003-09-29 13:39
2004.02.06
Проблемы с установкой GLScene


14-16683
Marser
2004-01-13 00:41
2004.02.06
Идеал политика


1-16390
vlv
2004-01-23 13:17
2004.02.06
Как преобразовать scan-код клавиши в символ?


7-16775
Kyzja
2003-11-17 14:35
2004.02.06
Как запихнуть форму в dll ?




   Наверх