Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"un activeX ne peut pas créer d'objet"

3 réponses
Avatar
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.

3 réponses

Avatar
Michel__D
Bonjour,

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" a écrit dans le message de
news:
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.


Avatar
Michel__D
Re,

A voir peut-être aussi ce lien :

http://msdn.microsoft.com/fr-fr/library/tzat5yw6(VS.80).aspx


"Michel__D" a écrit dans le message de news:gknbjk$vke$
Bonjour,

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" a écrit dans le message de
news:
> 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.



Avatar
Michel__D
Ainsi que celui-ci

http://www.developpez.net/forums/d6267/webmasters-developpement-web/outils/xmlrad/enregistrement-fichiers-tlb/


"Michel__D" a écrit dans le message de news:gkngf6$17l$
Re,

A voir peut-être aussi ce lien :

http://msdn.microsoft.com/fr-fr/library/tzat5yw6(VS.80).aspx


"Michel__D" a écrit dans le message de news:gknbjk$vke$
> Bonjour,
>
> 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" a écrit dans le message de
> news:
> > 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.
>