Sollte die Lösung jetzt so simpel sein, dass ich beide Binaries einfach mit Laufzeitbibliotheken kompiliere und dem Ganzen dann einfach die BPLs mitliefere?
Nein, du darfst dann keine .dll benutzen, sondern eine .bpl. Das Laden dauert etwas länger als bei DLLs, aber ansonsten sollte es keine negativen Auswirkungen haben, sofern du die .bpl Versionen sauber verwaltest.
Schön ist das aber eher nicht. Besser wäre eine saubere
DLL-Schnittstelle, es sei denn du brauchst die Datasets als echte TDatasets.
Wir haben dafür z.B. ein Interface auf das Hostprogramm, das automatisch (per allgemeiner
Unit in der
DLL, die entsprechende Funktionen exportiert) zur Verfügung steht und über das man Datasets anfordern kann. Die bekommt man dann als Interface und kann sie so ansteuern. Die Architektur ist so ähnlich wie du es beschreibst.