Du könntest das mit einem Interface lösen. In einem Interface werden nur die Funktionen und Properties definiert. keine Implementierung davon. Deine Klassen TClass1 und TClass2 erweitern das Interface nur, bzw. müssen die im Interface deklarierten Funktionen implementieren. Schau die das mit den Interfaces in der Online-Hilfe an.
Grobes Gerüst:
Unit3:
Delphi-Quellcode:
IClass1 = interface
Procedure Proc1(parameter...);
Procedure Proc2(parameter..);
end;
IClass2 = Interface
Procedure TueWas(parameter..);
Procedure TueWasAnderes(..);
end;
In Unit1 dann:
Delphi-Quellcode:
uses Unit3;
TClass1 = class(TObject, IClass1)
p2: IClass2;
Procedure Proc1(parameter...);
Procedure Proc2(parameter..);
end;
impelementation
Procedure TClass1.Proc1(paramemeter...);
begin
end;
...
In Unit2 dann analog zur Unit1:
Delphi-Quellcode:
uses Unit3;
TClass2 = class(TObject, IClass2)
p2: IClass1;
Procedure TueWas(parameter..);
Procedure TueWasAnderes(..);
end;
impelementation
Procedure TClass2.TueWas(paramemeter..);
begin
end;
...
Ich denke so in etwa müsste das funktionieren, bin mir allerdings nicht ganz sicher. In Unit3 brauchst du keine implementierung zu den Funktionen schreiben. Habe das nicht ausprobiert. Schau halt in der Hilfe nach wie genau das geht.
rantanplan