VB 6 probleme ocx

Résolu
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010 - 11 mai 2010 à 16:32
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 mai 2010 à 11:54
Lors de la modification d'un module *.vgb j ai compilé et testé le programme tout marche bien, donc j ai crée le fichier OCX (*.ocx), donc j ai intégré le module ocx dans l application donc le module figure dans la boite à outil (VB6), lorsque j'ai essayé d'utiliser le module dans la feuille du projet (Forme) j'ai le message d erreur suivant :

[b]LA CLASSE N EST PAS ENREGISTREE.
RECHERCHE D UN OBJET AVEC CLSID :{8f0313CF-6B6F-11D3-98EB-00C04F9C0783}/b

12 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 mai 2010 à 17:00
Salut,

Apparement ton ocx n'est plus enregistré dans le registre (soit tu la recompilé en écrasant l'ancien fichier, sans utiliser la compatibilité binaire, soit tu as perdu l'enregistrement dans la base, et il te suffit d'exécuter le regsvr32 pour l'enregistrer de nouveau).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010
11 mai 2010 à 17:18
j'ai executé regsvr32 pour l'enregistré à nouveau et toujours même probléme.
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 mai 2010 à 17:29
Salut,

Donc tu as du écraser l'ancienne version de ton ocx par un nouveau. Redéfinit la référence vers ton ocx dans ton projet l'utilisant, et n'oublie pas de le compiler en mode compatibilité binaire la prochaine fois.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010
12 mai 2010 à 08:27
le module est active x, je l'ai modifié et compilé j'ai même fait le teste et ça marche puis j'ai creé un nouveau ocx, et pour compilé l'application j'ai rajouté le nouveau ocx (projet-->composant)et ça marche pas.
j'ai essayé avec le regsvr32 et pareil ça marche pas toujours.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 mai 2010 à 08:30
Salut,

ça marche pas toujours


Qu'est-ce qui ne marche pas ? Tu as essayé de supprimer l'ancienne dépendance vers ton composant, redémarrer vb, puis rajouter la dépendance vers le nouveau composant compilé ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010
12 mai 2010 à 08:45
j'ai regardé dans le dossier Systeme 32 c'est toujours l'ancien ocx qui existe, donc je dois le supprimer je suppose??
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 mai 2010 à 08:58
Salut,

Non je te parle de la dépendance dans ton projet vb, pas du fichier ocx.

Un fichier ocx a un CLDIS unique qui permet de l'identifier dans le registre windows. Si tu le compile en mode compatibilité, il conserve son CLSID au fur et à mesure des versions, par contre, si tu le compile en mode sans compatibilité (c'est le choix par défaut de VB), et que tu écrase l'ancienne version de l'ocx, alors il reste une entrée dans le registre windows qui pointe sur rien (un CLSID avec aucun fichier rattaché).

Du coup, sous VB, tu as 2 composants : l'ancien qui pointe sur rien (et il est donc inutilisable) et le nouveau.

Ce que je te dis de faire, c'est d'enlever la référence vers l'ancien ocx dans ton projet VB, redémarrer VB pour être sûr qu'il le prenne en compte, puis sélectionner le nouveau composant, en théorie ca devrait le faire.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010
12 mai 2010 à 09:47
J'ai essayé de désinstaller toute l'application et la recompiler en suivant l'ordre des exe, maintenant j'ai ce message :

[b]Erreur d'execution '-2147467259(80004005):
[Microsoft][ODBC driver manager] data source name not found and no defaut driver specified/b
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 mai 2010 à 11:05
Salut,

Là c'est un problème de driver à la base de données.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
berrabah1975 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 31 mai 2010
12 mai 2010 à 11:34
le probleme lié à la bd est reglé,
L'application se compose de trois Exécutables (Exe), huit contrôles ActiveX (Ocx) et d'une librairie (Dll). Ces modules sont compilés dans cet ordre :
Librairie (Libs\*.vbg)
Utilitaire (UtiSDA\*.vbg)
Fenêtres (Fen*\*.vbg)--------------------------------------------------(1)
Exécutables (App*\*.vbp)
(1) donc moi j'ai effectué une modification sur une fenetre (fenetre avtive x parmi les 8), j'ai creé un ocx que j'ai rajouté au projet, j'ai recompilé et ça marche toujours pas, j'ai même le controle de l'ocx modifié qui disparaiise de l'application.
3
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
12 mai 2010 à 11:44
Bonjour,

Le mieux est de procéder ainsi:

Compiler d'abord les OCX et DLL (le VBP de chacun) mais en faisant attention qu'il n'ait pas de groupe de projets ouverts (c'est très bien pour les tests mais pas pour la compil définitive).

Ensuite et seulement ensuite, tu compiles ton ou tes exécutables, toujours à partir du VBP en vérifiant auparavant les dépendances (en principe il gueule à la compil si quelque chose ne vas pas).


Calade
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 mai 2010 à 11:54
Salut,

Et bien respecter le mode de compatibilité également...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous