VB6 composant Activex ne peut pas créer l'objet
Je fais quelques mises à jour mineures pour une application VB6. Il s'exécute sur un ordinateur windows 2000 serveur connecté à un Serveur SQL server 2000 Base de données.
J'ai pris une copie du code source à partir du serveur de mise à jour et respecté à l'échelle locale. Ma machine locale est en cours d'exécution windows 7 64x. J'ai copié le .exe fichier vers le serveur et quand j'ai essayé de l'exécuter, j'ai reçu l'erreur d'exécution 49: le composant Activex ne peut pas créer un objet. Je sais que cette erreur se produit lorsque l'application tente d'ouvrir une connexion à la base de données à l'aide de RDO.
Je peux courir le .exe amende de ma machine et mon pc virtuel qui exécute windows xp.
Cette application a travaillé sur le serveur et les changements que j'ai faits étaient au contenu d'un fichier, il ne sort donc pas de nouvelles références seraient nécessaires.
Ces lignes, il est tomber sur:
rdoEnvironments(0).CursorDriver = rdUseNone
Set conDB = rdoEnvironments(0).OpenConnection("MRA", rdDriverNoPrompt, True)
- Etes-vous positif vous utilisez RDO et pas ADO? Cela pourrait être lié à l'Win7 SP1 compatibilité des pauses dans de nombreuses versions de MDAC/DAC bibliothèques.
- Merci. Oui, il est RDO. Ce sont les lignes, il est tomber sur. rdoEnvironments(0).CursorDriver = rdUseNone Ensemble conDB = rdoEnvironments(0).OpenConnection("ARM", rdDriverNoPrompt, True)
Vous devez vous connecter pour publier un commentaire.
Il vous manque des Dll pour RDO travail sur le serveur, essayez ceci:
http://support.microsoft.com/kb/195474 - Comment Déterminer RDO les Fichiers Nécessaires à la Distribution de l'Application
Récemment, j'ai résolu le
Activex component can't create object
d'erreur comme suit:.vbp
fichier pour votre projet VB6 dans un éditeur de texte.En haut du fichier sera tous les objets activex par le projet. Dans mon cas, il s'agissait de:
Ouvrez regedit app.
Reference=
entrées dans HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface etObject=
entrées dans HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID#1.2
. Dans mon cas, j'ai trouvé le même numéro de version répertorié dans unVersion
touche près de l'endroit où j'ai trouvé une correspondance dans la base de registre. Si les versions ne correspondent pas, il peut être intéressant de l'enregistrement de l'OCX ou DLL fichier de la version correcte.Classes
branche, ensuite, la recherche de la prochaine entrée.Activex component can't create object
erreur.Dans mon cas, le manque de classe a été
Reference=*\G{3D0758FA-4171-11D0-A747-00A0C91110C3}#a.0#0#C:\WINDOWS\system32\dbgwproc.dll#Debug Object for AddressOf Subclassing
. C'est une classe spéciale utilisée lors de l'exécution d'applications VB6 dans le débogueur, mais il ne devrait pas être distribué avec l'application ou la référence dans les applications qui sont distribués. J'ai eu VB pour arrêter de référencement dbgwproc.dll par l'ouverture deProject > <app name> Properties... > 'Make' tab
et la suppression deDEBUGWINDOWPROC = 1
deConditional Compilation Arguments:
. Après la reconstruction de, plus aucune erreur s'est produite.