У меня была несколько иная проблема подобного плана...
Есть основной класс (в отдельном юните), и он должен быть доступен в других юнитах. И есть дополнительные классы, которые использует основной. Они должны быть видимы только "на территории" этого юнита.
Код:
type
TSomeClass=class; //Предварительное объявление
implementation
type
TSubClass=class
...
end;
TSomeClass=class
...
private
t1: TSubClass;
...
end;
Но так компилятор ругается. Как быть?