Я полагаю, вы имеете в виду, как мне избавиться от них!
Поместите их оба в один файл, и, учитывая вашу структуру, вы также можете получить один ответ.
type tb = class;
type Ta = class(TObject)
public
b:Tb;
end;
type Tb = class(TObject)
public
a:Ta;
end;
Другие способы зависят от ситуации, например, можете ли вы абстрагироваться от класса, который может владеть Ta или Tb, или класс может принадлежать Ta или Tb...
Однако я бы порекомендовал вам взглянуть на интерфейсы....
Хорошо, два разных файла
Ну нет, три...
Unit3;
type tc = class(TObject)
public c:Tc;
end;
Unit1;
type Ta = class(TObject)
public
b:Tc;
end;
Unit2;
type Tb = class(TObject)
public
a:Tc;
end;
Or
Unit3;
type Ic = interface; end;
Unit1;
type Ta = class(TObject)
public
b:Ic;
end;
Unit2;
type Tb = class(TObject)
public
a:Ic;
end;
Найдите общий бит, выведите его в третьем блоке, чтобы два других использовали его в основном. Помимо всего прочего, это даст вам лучший дизайн.
person
Tony Hopkinson
schedule
03.01.2012