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
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
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
25
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