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

cepacepa 9 Messages postés mardi 4 mai 2004Date d'inscription 29 juin 2007 Dernière intervention - 19 mars 2007 à 14:33 - Dernière réponse : cepacepa 9 Messages postés mardi 4 mai 2004Date d'inscription 29 juin 2007 Dernière intervention
- 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
Afficher la suite 

Votre réponse

4 réponses

NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscription 21 mai 2018 Dernière intervention - 20 mars 2007 à 10:40
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
cepacepa 9 Messages postés mardi 4 mai 2004Date d'inscription 29 juin 2007 Dernière intervention - 21 mars 2007 à 12:49
+3
Utile
Merci beaucoup pour votre aide !!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cepacepa
cepacepa 9 Messages postés mardi 4 mai 2004Date d'inscription 29 juin 2007 Dernière intervention - 19 mars 2007 à 14:37
0
Utile
Pour préciser, Init serait appelé de l'application cliente de la manière suivante :

Init(OnDataReception)  Merci
Commenter la réponse de cepacepa
ShareVB 2717 Messages postés vendredi 28 juin 2002Date d'inscription 13 janvier 2016 Dernière intervention - 21 mars 2007 à 12:32
0
Utile
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
Commenter la réponse de ShareVB

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.