Appel de fonction DLL et gestion evenements

Résolu
cepacepa Messages postés 9 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 29 juin 2007 - 19 mars 2007 à 14:33
cepacepa Messages postés 9 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 29 juin 2007 - 21 mars 2007 à 12:49
Bonjour, j'ai un petit soucis en .NET :

Dans une DLL, je veux déclencher une action (lors d'un évènement) et déclencher un évènement dans mon application cliente de la DLL.

Exemple :  Dans mon application, je crée une sub : OnDatasReception vide pour l'instant, dès que je reçois qq chose, je fais un MsgBox pour vérifier que l'évènement se déclenche.

Dans ma DLL, je voudais créer une méthode Init qui prend en paramètre une fonction ou une procedure (pointeur de fonction en somme donc Delegate mais comment ?)

Dans une procédure privée de la DLL, je réceptionne des données sur le port série, je stocke ces données au bout d'un certain temps , enfin je voudrais une fois cela prévenir mon application cliente qu'il est temps de déclencher une action donc je voudrais invoker le fameux OnDatasReception.

Qui a une idée ???

Merci

4 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
20 mars 2007 à 10:40
Bonjour


Si tu parle d'une DLL.NET (assembly), tu peux directement définir dans ta classe un evenement?

Pour utiliser un pointeur de fct (delegate) :
public Delegate NomDelegate(Parametres)


Dans ta sub d'init :
public sub Init(byval pDelegate as NomDelegate)


Chez l'appelant :

Obj.Init(new NomDelegate(addressof SubEvent))

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
3
cepacepa Messages postés 9 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 29 juin 2007
21 mars 2007 à 12:49
Merci beaucoup pour votre aide !!
3
cepacepa Messages postés 9 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 29 juin 2007
19 mars 2007 à 14:37
Pour préciser, Init serait appelé de l'application cliente de la manière suivante :

Init(OnDataReception)  Merci
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
21 mars 2007 à 12:32
salut,

si jamais la méthode que tu passes au délégué n'est jamais appelée, alors il faudra que tu mettes le délégué en variable shared ou globale à ta classe...

ShareVB
0
Rejoignez-nous