Вниз
Скачать: 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.02 c
1-16447
Zheks
2004-01-28 09:44
2004.02.06
try/except


1-16431
siriusP
2004-01-22 10:23
2004.02.06
Где ошибка при вызове ф-ции DLL?


1-16459
PJack
2004-01-28 22:16
2004.02.06
Создание нестандартных форм


6-16552
Паша Т
2003-12-02 21:42
2004.02.06
IdFTP


1-16437
C@N
2004-01-18 12:53
2004.02.06
Замена/расширение возможности стандартных инищек




   Наверх