OVH Cloud OVH Cloud

le composant activeX ne peut pas creer l'objet

3 réponses
Avatar
Michel
bonjour,
j'ai un soucy avec mon vb5
j'ai un prog qui tourne avec une dizaine de dll
ce prog n'a pas été fait par moi mais par mon predecesseur

j'ai modifié recement une dll , nickel tout fonctionne comme je le veux
tout à l'heure je la remodifie je compile je cree la dll
jusque là tout va bien
et puis au chargement, j'ai une erreur
"le composant activeX ne peut creer l'objet"
suivi de "erreur 91 variable non definie ou bloc with non definie"

là je me dis que j'ai fait une connerie et je reprernds la sauvegarde de mon
repertoire concerant la dll
je recompile sans rien changer pour verifier
et qd je lance le prog j'ai la mm erreur
là je ne comprernds plus
la dll que j'avais cree avant fonctionne tres bien en prod et là avec les mm
sources elle ne fonctionne pas

qqn a deja eu un pb de ce genre ou connait la solution?

Merci d'avance

Michel

3 réponses

Avatar
Sebho
As tu mis en place la "compatibilité binaire" ?

si tu ne l'as pas fais, ta DLL a reçu un nouveau ProgID et est considéré
comme une DLL différente

sebho
Avatar
Michel
oki merci j'essaierais demain

"Sebho" a écrit dans le message de
news:evQq%
Dans Projet/Propriétés : Composant / Compatibilité des versions

tu séléctionnes Compatibilité binaire, puis tu parcours jusque vers ta DLL
qui fonctionnait, puis OK

attention tu n'as bien sur pas le droit de rompre la compatibilité si une
fonction toto attend une string tu n'as pas la droit de changer pour un


long
par exemple

tu dois garder toutes les fonctions intactes, ainsi que les paramètres des
fonctions. Rien ne t'empêche de modifier le contenu de ta fonction ou d'en
créer des nouvelles

toto2 par exemple

function toto(chaine as string) as long
'vieux code supprimé
nouveau code
end function

'Si vraiment faut que je change tout, je crée une nouvelle fonction
function toto2(chaine as string,numero as long) as variant

end function

quand tu compile ta DLL, VB t'avertis si tu romps la compatibilité ou pas

sebho

"Michel" a écrit dans le message de
news:
>
> comment on fait pour la compatibilité binaire?
>
> "Sebho" a écrit dans le message de
> news:
> > As tu mis en place la "compatibilité binaire" ?
> >
> > si tu ne l'as pas fais, ta DLL a reçu un nouveau ProgID et est


considéré
> > comme une DLL différente
> >
> > sebho
> >
> >
>
>




Avatar
Michel
j'ai essayé ça ne fonctionne pas

je comprends pas ce qui se passe

"Sebho" a écrit dans le message de
news:evQq%
Dans Projet/Propriétés : Composant / Compatibilité des versions

tu séléctionnes Compatibilité binaire, puis tu parcours jusque vers ta DLL
qui fonctionnait, puis OK

attention tu n'as bien sur pas le droit de rompre la compatibilité si une
fonction toto attend une string tu n'as pas la droit de changer pour un


long
par exemple

tu dois garder toutes les fonctions intactes, ainsi que les paramètres des
fonctions. Rien ne t'empêche de modifier le contenu de ta fonction ou d'en
créer des nouvelles

toto2 par exemple

function toto(chaine as string) as long
'vieux code supprimé
nouveau code
end function

'Si vraiment faut que je change tout, je crée une nouvelle fonction
function toto2(chaine as string,numero as long) as variant

end function

quand tu compile ta DLL, VB t'avertis si tu romps la compatibilité ou pas

sebho

"Michel" a écrit dans le message de
news:
>
> comment on fait pour la compatibilité binaire?
>
> "Sebho" a écrit dans le message de
> news:
> > As tu mis en place la "compatibilité binaire" ?
> >
> > si tu ne l'as pas fais, ta DLL a reçu un nouveau ProgID et est


considéré
> > comme une DLL différente
> >
> > sebho
> >
> >
>
>