Jede
DLL schleppt praktisch ihre eigene Implementation der UniDac-Komponenten mit.
Die kann identisch sein, muss aber nicht.
Selbst wenn diese identisch ist, kann der Kompiler dass nicht erkennen (es wird nur der Zeiger auf die Klasse verglichen und die sind immer unterschiedlich, auch wenn die Klassen den selben Namen tragen).
Ein Ausweg wäre alles mit
BPL-Dateien umzusetzen, das betrifft dann auch die
VCL und alle anderen Komponenten die gemeinsam genutzt werden.
Allerdings sind durch die Abhängigkeiten
BPL-Dateien nicht so einfach austauschbar.
Wird eine
BPL-Datei ausgetauscht, müssen auch alle davon abhängigen
BPL-Dateien mit dieser Version neu kompiliert und ausgetauscht werden.
Eine andere Möglichkeit wäre eine ganz andere Plattform zu wählen, z.B. NET.