Appel de fonction DLL et gestion evenements [Résolu]

Signaler
Messages postés
9
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
29 juin 2007
-
Messages postés
9
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
29 juin 2007
-
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

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
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
Messages postés
9
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
29 juin 2007

Merci beaucoup pour votre aide !!
Messages postés
9
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
29 juin 2007

Pour préciser, Init serait appelé de l'application cliente de la manière suivante :

Init(OnDataReception)  Merci
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
14
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