Nochmal ganz langsam: wenn die Typdeklaration der einzige Grund dafür ist, dann wie gesagt entweder in eine eigene
Unit packen oder alternativ dort, wo damit gearbeitet wird (IMO also dort, wo die Klasse deklariert ist).
Delphi-Quellcode:
unit Work;
interface
uses ...;
type
TMyType = ...;
TMyClass =
class
...
procedure DoSomething(Foo: TMyType);
end;
Typ und Klasse sind nun in allen Units verfügbar, die Work einbinden.
Delphi-Quellcode:
unit Use;
interface
uses ..., Work;
Ist aber in Use etwas deklariert, worauf Work zugreifen soll, müssen sie sich (zunächst) gegenseitig einbinden. Das ist kein gutes Design, daher sollte man sich überlegen, wie man das vermeiden kann.