Récupérer les événements à partir d'une dll C++ et les gérer en VB.net
cs_FaresLa
Messages postés2Date d'inscriptionmercredi 12 mai 2010StatutMembreDernière intervention17 mai 2010
-
12 mai 2010 à 12:41
cs_FaresLa
Messages postés2Date d'inscriptionmercredi 12 mai 2010StatutMembreDernière intervention17 mai 2010
-
17 mai 2010 à 14:28
Bonjour,
Je travail sur vb.net Visual Basic 2008. Mon objectif c’est de créer mon propre namespace sur l’explorateur et gérer les événements comme sur Windows.
Pour la création du namespace j’utilise une dll en c++ et je peux gérer les événements en modifiant le code C++.
//comme sur la ligne suivante j’appelle la fonction Hello quand je fais un double click sur un dossier //dans le ListView
NOTIFY_CODE_HANDLER(LVN_ITEMACTIVATE, Hello)
Maintenant mon problème c’est de gérer les événements sur mon namespace à partir de l’ exe en vb.net.
Quand j’essaye d’ajouter la dll comme référence à mon projet Vb.net, il m’affiche le message suivant :
« une référence à ‘D:\…\Mydll.dll’ n’a pas pu être ajoutée. Assurez vous que ce fichier est accessible et qu'il s'agit d'un assembly ou d'un composant COM valide »
Donc j’ai du faire des déclarations des fonctions du dll pour pouvoir les utiliser dans vb :
Overloads Declare Sub Hello Lib _
"D:\ … \Debug\Mydll.dll" ()
Mais pour les évéenement je ne vois pas comment les récupérer sur vb.net.
J’espère que mon problème est claire pour que vous puissiez m’aider.
Merci à tous.
cs_FaresLa
Messages postés2Date d'inscriptionmercredi 12 mai 2010StatutMembreDernière intervention17 mai 2010 17 mai 2010 à 14:28
Bonjour,
merci beaucoup pour votre aide. mais ca reste encore flou pour moi . je suis débutant en C++, je m'en sert de la DLL c++ pour la création de mon namespace.
sur le code C++ j'arrive à gérer les événements. mais pour les invoker en vb.net c'est encore flou.
comme vous me l'avez dis, j'ai chercher à comprendre le callback et le pointeur de fonctions en C++, je comprend le principe de fonctionnement mais je ne comprend pas encore comment s'en servir pour récupérer l'événement en vb.net.
sur le code c++ il suffit d'implémenter ma fonction Hello par exemple, et je l'appelle à l'événement double click sur un dossier,
NOTIFY_CODE_HANDLER(LVN_ITEMACTIVATE, Hello)
je ne comprend pas si je dois appeler ces callback en vb.net et si le cas comment reconnaitre les événements effectuée sur le namespace ou je dois implémenter mes propres callback pour les événements "NOTIFY_CODE_HANDLER(LVN_ITEMACTIVATE, Hello)"