Показать сообщение отдельно
  #1  
Старый 09.02.2014, 17:59
Annihilator Annihilator вне форума
Прохожий
 
Регистрация: 16.06.2013
Сообщения: 29
Версия Delphi: Delphi XE 2
Репутация: 10
По умолчанию Инкапсуляция и перекрестное объявление модулей

Здравствуйте, помогите советом, пожалуйста. Суть проблемы в том, что private поля класса доступны в пределах модуля, и есть цель их скрыть. При разделении на модули, натыкаюсь на перекрестное объявление модулей, при том, ни какие
Код:
implements
Uses
не помогут, так как оба класса объявлены в интерфейсных секциях.

Код:
unit 1;
intefrace
...
type
TA = class
FX:TB;
end;

unit 2;
interface
...
type
TB = class
FV:TA;
end;
В общем виде, как то так. Одно из решений, которое мне приходит в голову, это сделать примерно так:
Код:
unit 1;
interface
...
TA=class
FX:TB;
end;

unit 2;
interface
...
TB = class
FV:TObject;
end;
...
implementation
uses unit1;


procedure TB.lalala;
begin
TA(FV).blablabla;
end;
Подскажите, пожалуйста, как правильно решать такие ситуации.
Ответить с цитированием