Forums Neueste Beiträge
 

Objekte können nicht erzeugt werden

14/09/2008 - 16:44 von Detlef Rongen | Report spam
Hallo NG,

mich beschàftigt folgendes Problem:

Von einer ActiveX-Dll (a) wird aus einer C++-Dll heraus ein Objekt erzeugt.
In dieser ActiveX-Dll (a) werden u.A. Textverarbeitung mit MS Word,
Datenbankzugriffe auf eine Access-Datenbank und Embargoprüfungen
abgehandelt. Ein neuer Kunde benötigt nun eine Erweiterung des Produktes was
zur Folge hat, dass eine weitere ActiveX-Dll(b) geschrieben wurde. Von
dieser neuen ActiveX-Dll (b) wird aus der ActiveX-Dll (a) heraus ein Objekt
erzeugt. In der ActiveX-Dll (b) gibt es einen Verweis auf eine tlb die eine
Entwicklung des Kunden ist. Zu Testzwecken beim Kunden habe ich eine .exe
erstellt mit den Funktionalitàten der ActiveX-Dll (b). Die exe funktioniert
beim Kunden einwandfrei. Setzen wir nun die neu erstellte Activex-Dll (b)
ein, erhalten wir aus der ActiveX-Dll (b) die Fehlermeldung
"Objekterstellung durch ActiveX-Komponente nicht möglich" (429). Wie bereits
erwàhnt: die exe funktioniert einwandfrei. Also habe ich versucht die exe
aus der ActiveX-Dll (a) heraus aufzurufen. Die exe startet zwar gibt aber an
gleicher Stelle wie die ActiveX-Dll (b) ebenfalls die Fehlermeldung
"Objekterstellung durch ActiveX-Komponente nicht möglich" aus.

Ich stehe vor einem für mich grossen Ràtsel.
Warum arbeitet die exe fehlerfrei wenn sie nicht aus der Dll heraus
aufgerufen wird und warum verweigert sie ihren Dienst wenn sie aus der Dll
heraus aufgerufen wird? Das gleiche gilt natürlich auch für die ActiveX-Dll
(b).

Ich habe vor einiger Zeit schon mal kompetente Hilfe aus dieser NG erhalten
und vertraue auch jetzt wieder darauf.

Vielen Dank im voraus für Eure Ratschlàge, Anregungen oder
Lösungsvorschlàge!

Mit freundlichen Grüssen aus Aachen

Detlef Rongen
 

Lesen sie die antworten

#1 Harald M. Genauck
14/09/2008 - 17:40 | Warnen spam
Hallo Detlef,

mich beschàftigt folgendes Problem:

Von einer ActiveX-Dll (a) wird aus einer C++-Dll heraus ein Objekt
erzeugt. In dieser ActiveX-Dll (a) werden u.A. Textverarbeitung mit
MS Word, Datenbankzugriffe auf eine Access-Datenbank und
Embargoprüfungen abgehandelt. Ein neuer Kunde benötigt nun eine
Erweiterung des Produktes was zur Folge hat, dass eine weitere
ActiveX-Dll(b) geschrieben wurde. Von dieser neuen ActiveX-Dll (b)
wird aus der ActiveX-Dll (a) heraus ein Objekt erzeugt. In der
ActiveX-Dll (b) gibt es einen Verweis auf eine tlb die eine
Entwicklung des Kunden ist. Zu Testzwecken beim Kunden habe ich eine
.exe erstellt mit den Funktionalitàten der ActiveX-Dll (b). Die exe
funktioniert beim Kunden einwandfrei. Setzen wir nun die neu
erstellte Activex-Dll (b) ein, erhalten wir aus der ActiveX-Dll (b)
die Fehlermeldung "Objekterstellung durch ActiveX-Komponente nicht
möglich" (429). Wie bereits erwàhnt: die exe funktioniert
einwandfrei. Also habe ich versucht die exe aus der ActiveX-Dll (a)
heraus aufzurufen. Die exe startet zwar gibt aber an gleicher Stelle
wie die ActiveX-Dll (b) ebenfalls die Fehlermeldung "Objekterstellung
durch ActiveX-Komponente nicht möglich" aus.

Ich stehe vor einem für mich grossen Ràtsel.
Warum arbeitet die exe fehlerfrei wenn sie nicht aus der Dll heraus
aufgerufen wird und warum verweigert sie ihren Dienst wenn sie aus
der Dll heraus aufgerufen wird? Das gleiche gilt natürlich auch für
die ActiveX-Dll (b).



Es ist ein wenig schwierig zu verstehen und nachzuvollziehen, welche
Komponenten (DLLs) wo und wann im Spiel sind, was sie entahlten und wo
welche in welcher DLL befindlichen Objekte erzeugt werden (sollen)...

Auf den ersten Blick würde ich sagen: Entweder fehlt irgendwo eine
Komponente, oder sie ist nicht registriert.


Viele Grüße

Harald M. Genauck

"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)
"ABOUT Visual Basic" - http://www.aboutvb.de (Herausgeber)

Ähnliche fragen