Bei Units brauchst du nicht zwingend eine Funktion "GibMirDasInterface". Bei Units sind anstatt Interfaces auch eher abstrakte Klassen geeignet (in Delphi).
In einer
DLL brauchst du "GibMirDasInterface", weil du sonst die Klasse nicht erstellen kannst.
Den Verweis auf die beiden Units kannst du nicht verhindern (wo du "unschön" hinschriebst).
Ansonsten sieht dein Programm doch ok aus. Wo hakt es denn noch?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.