Beispiel
dll/
bpl A enthält Fastreport
dll/
bpl B enthält Fastreport
Fastreport registriert sich über Registerclass
Modul A kann problemlos verwendet werden.
Modul B kann problemlos verwendet werden.
Wird versucht eines der beiden Module nachzuladen, wenn das jeweils andere Modul bereits geladen ist, dann knallt es und die Anwendung stürzt ab.
Wie wäre es, einen Fastreport-Wrapper zu bauen?
Sowohl das Hauptprogramm als auch die DLLs kennen bestimmte Interfaces.
Das Hauptprogramm besitzt Klassen, die diese Interfaces implementieren.
Das Hauptprogramm ruft dann einfach eine bestimmte
DLL-Funktion auf und übergibt die Interfaces als Parameter.
... und schon läufts!
Genauso auch mit Formularen.