Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb passage par ref à une Dll

1 réponse
Avatar
Stephane Queyroi
Bonjour,
Voilà, je reprends une dll en C++ créer en VC6 que j'ai migrée sous VC .net.
Cela fonctionne et j'arrive à utilisé la dll sous VB6.
Cependant, je doit l'utiliser sous VB .net et là, j'ai des pb de passage de
paramètre par réference.

En fait, dans la dll, il y a des fonctions ayant pour paramètre des
pointeurs de structures.
Donc, sous VB .net, j'ai déclarer des structures et je souhaite passer ces
structures par réference à ma DLL. Et là, paf, j'ai une execption :"La
référence d'objet n'est pas définie à une instance d'un objet."

Pour ce que j'ai pu voir sur le net, c'est un pb entre ressource managée et
ressource pas managée (sachant que ma dll n'utilise pas les ressources
managées).

Pouvez-vous m'aider ?

Merci
Stephane Queyroi

1 réponse

Avatar
en fait vb.net n'est pas adapte a communiquer avec l'api
win32 sauf contorsion a se casser la colonne vertebrale

vb.net est loin d'etre une reussite de ce point de vue.
d'autant plus qu'il ne gere pas correctement nombres non
signes.

le + simple c'est de passer sous C#, ou d'attendre vb2005
ou de refaire la DLL. en fait, vb.net ne fonctionne bien
avec les DLL que si il s'agit de passer des
parametres "simples" genres chaines ou nombres non signes.


-----Message d'origine-----
Bonjour,
Voilà, je reprends une dll en C++ créer en VC6 que j'ai


migrée sous VC .net.
Cela fonctionne et j'arrive à utilisé la dll sous VB6.
Cependant, je doit l'utiliser sous VB .net et là, j'ai


des pb de passage de
paramètre par réference.

En fait, dans la dll, il y a des fonctions ayant pour


paramètre des
pointeurs de structures.
Donc, sous VB .net, j'ai déclarer des structures et je


souhaite passer ces
structures par réference à ma DLL. Et là, paf, j'ai une


execption :"La
référence d'objet n'est pas définie à une instance d'un


objet."

Pour ce que j'ai pu voir sur le net, c'est un pb entre


ressource managée et
ressource pas managée (sachant que ma dll n'utilise pas


les ressources
managées).

Pouvez-vous m'aider ?

Merci
Stephane Queyroi


.