Débugger une procédure VB6 dans un projet en C#

Résolu
Signaler
Messages postés
4
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mai 2008
-
Messages postés
4
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mai 2008
-
Hello,

je suis en train de créer un projet en C#, qui effectue une connection avec une base de données. Le but est de récupérer des objets d'un format particulier contenus dans la base.

J'utilise une DLL écrite en VB6 qui sait comment aller chercher les objets en question. Je suis censé "juste" faire appel aux fonctions de cette DLL pour établir ma connexion (ça, c'est OK), et effectuer mes requêtes. Mais à l'appel d'une des fonctions VB6, j'ai le message d'erreur suivant:

"Variable objet ou variable d'un bloc With non définie"

Des recherches sur le net ne me donnent des solutions que pour VB.NET, pas pour C#...
Je cherche donc à lancer mon programme C# et à accéder à mes fonctions VB6, toujours en run-time, afin de voir plus précisémment d'où vient l'erreur. Mais je ne sais pas comment faire: "attach to process" semble marcher dans l'autre sens (utilisation de code C# dans un projet VB6).

Je tiens à préciser que je ne peux pas modifier le code VB6 sous peine de casse de compatibilité binaire.

Quelqu'un aurait-il des propositions pour me sortir de cette impasse?

Merci d'avance pour vos réponses,

Vic

2 réponses

Messages postés
4
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mai 2008

Hé ben en fait, si!!!

On ouvre le projet en VB6, par exemple "MonProjetVB6".
Dans l'onglet "Projet",
clique droit sur "MonProjetVB6"
clique gauche "MonProjetVB6 Properties..."
onglet "Debugging"
checkBox "Start program:" et browse
on cherche alors le "devenv.exe" qui va bien, genre "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe"
Microsoft Visual Studio 8 se lance, et on choisit le projet (.NET) à lancer.

On peut alors débugger le code VB6. Le tour est joué!!!
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
il n'est pas possible de debugger du VB6 au sein de C#.

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]