"un activeX ne peut pas créer d'objet"
Le
cyril6910
Bonjour,
J'ai developpé des DLL en C# et j'en ai rendu quelques une visible
par COM.
Je travaille sous Visual Studio 2008 et le framework 3.5.
Par conséquent, VS2008 me génère les .tlb pointant sur mes DLL et
me permettant de les référencer en VBA.
J'ai une application ACCESS 2003 où je référence mon .tlb. Dans mon
code VBA, j'instancie un objet de ma DLL:
Dim translator As ASSSEMBLY.ITranslator
Set translator = New ASSSEMBLY.Translator
translator.LoadTranslation 1, connectionString
Tout fonctionne bien pour l'instant mais lorsque je copie mon MDB
ou mon MDE sur un autre poste, j'ai l'erreur "un activeX ne peut
créer d'objet" lors de l'exécution.
Bien sûr, j'ai cherché sur le net.
Sur le poste client, j'ai réenregistré DAO260.dll. J'ai mis le SP1
du framework 3.5.
J'ai vérifier mes références dans mon MDB.
J'ai réinstallé MSAccess 2003, etc
J'installe mes DLL (et .tlb) par le biais d'un kit d'install généré
par VS2008.
Sur le poste client, j'ai fait le test avec une
appli access vide en référencant mon tlb puis en instanciant un
objet et ça ne marche pas!
Je ne comprends pas d'où vient le problème.
Sur mon poste, tout est OK mais dès que je pose l'appli ailleurs,
j'ai l'erreur.
QQ'un aurait-il une idée?
Merci.
J'ai developpé des DLL en C# et j'en ai rendu quelques une visible
par COM.
Je travaille sous Visual Studio 2008 et le framework 3.5.
Par conséquent, VS2008 me génère les .tlb pointant sur mes DLL et
me permettant de les référencer en VBA.
J'ai une application ACCESS 2003 où je référence mon .tlb. Dans mon
code VBA, j'instancie un objet de ma DLL:
Dim translator As ASSSEMBLY.ITranslator
Set translator = New ASSSEMBLY.Translator
translator.LoadTranslation 1, connectionString
Tout fonctionne bien pour l'instant mais lorsque je copie mon MDB
ou mon MDE sur un autre poste, j'ai l'erreur "un activeX ne peut
créer d'objet" lors de l'exécution.
Bien sûr, j'ai cherché sur le net.
Sur le poste client, j'ai réenregistré DAO260.dll. J'ai mis le SP1
du framework 3.5.
J'ai vérifier mes références dans mon MDB.
J'ai réinstallé MSAccess 2003, etc
J'installe mes DLL (et .tlb) par le biais d'un kit d'install généré
par VS2008.
Sur le poste client, j'ai fait le test avec une
appli access vide en référencant mon tlb puis en instanciant un
objet et ça ne marche pas!
Je ne comprends pas d'où vient le problème.
Sur mon poste, tout est OK mais dès que je pose l'appli ailleurs,
j'ai l'erreur.
QQ'un aurait-il une idée?
Merci.

Poser une question


Je ne sais pas si cela s'applique à ta façon de procéder, mais
généralement pour pouvoir utiliser les composants COM il faut
enregistrer la DLL correspondante.
http://support.microsoft.com/kb/249873/fr
"cyril6910" news:
A voir peut-être aussi ce lien :
http://msdn.microsoft.com/fr-fr/library/tzat5yw6(VS.80).aspx
"Michel__D"
http://www.developpez.net/forums/d6...hiers-tlb/
"Michel__D"