Frage 1:
warum habt ihr eine "normale"
DLL gebaut und nicht eine
ActiveX-DLL?
Eine
ActiveX-
DLL hat intern schon die Unterstützung durch Class factories und enthält eine TLB als Resource.
Sie exportiert die Funktionen DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer
(daran erkennt man eine
ActiveX-
DLL).
Importieren einer
ActiveX-
DLL geht in VB.NET mit wenigen Mausklicks.
=> Empfehlung: Umbauen auf eine
ActiveX-
DLL
Frage 2:
warum leitet ihr eure Interfaces nicht von
IDispatch ab?
Dies hat den großen Vorteil, dass alle Methoden auch aus einer Scriptsprache wie z.B. VB-Script angesteuert werden können.
=> Empfehlung:
ActiveX-
DLL mit Automatisierungsobjekten
Das Verwenden in einer anderen Programmiersprache ist dann ganz einfach.
Die Importe in VB.NET gehen dann vollautomatisch und fehlerfrei.