Bonjour,
J'en appelle à votre expertise car je suis dans un cas plus que bizarre.
Je suis chargé de maintenir un vieux programme mais je suis bloqué car j'ai un problème mais aucune explication logique et donc aucune solution.
Le programme principal est constitué de plusieurs DLLs ActiveX.
L'une de ces DLL utilise un OCX fourni par une société tierce. Le composant est donc référencé (par les components) dans le projet.
Dans le code, on fait plusieurs appels aux fonctionnalités et on utilise les composants graphiques de cet OCX. Tout fonctionne parfaitement. Sauf qu'à un moment nous souhaitons déclarer une variable dont le type est une structure définie et exportée par l'OCX. A la compilation il n'y aucun souci mais à l'exécution on obtient une erreur "Run-time error '32797' : Application-defined or object-defined error". Après de longue recherche pour trouver la cause, j'ai trouvé que c'était la déclaration suivante qui provoquait l'erreur.
Dim myVariable As MyOCXLib.MASTRUCTURE_A_UTILISER
Je ne pense pas que le problème viennent de l'OCX (je l'ai enregistré, désenregistrer, vérifié à l'aide de OLE Viewer que la TypeLib était correct, vérifié que le registre contenait les bonnes information mais tout est normal). De plus un programme d'exemple fourni avec l'OCX et qui utilise la même déclaration fonctionne correctement lui...
J'en viens donc à suspecter un problème sur mon projet mais je ne vois pas quoi...
Pour information, j'ai enlevé la référence sur l'OCX du projet pour la recréer ensuite mais cela n'a absolument rien changé...
Il y a une autre structure exportée par l'OCX que j'ai essayé mais j'ai la même erreur...
Voila, je ne sais plus quoi tenter et je n'ai aucune explication c'est pourquoi je me tourne vers vous.
Merci d'avance pour votre aide.
Cordialement
Partager