Aide sur les fonctions callback

Signaler
Messages postés
8
Date d'inscription
lundi 20 septembre 2004
Statut
Membre
Dernière intervention
6 juin 2005
-
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009
-
Bonjour, jaurai besoin d'aide sur les fonctions callback. Je ne sais pas du tout comment ca marche! Quelqu'un peut il me dire comment ca fonction marche et surtout comment les utiliser. Je vous remercie d'avance.
kulk

5 réponses

Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
Hé bien c'est simple : Windows te donne le prototype que la fonction doit avoir, tu as juste à suivre ses directives. Ensuite, tu appelles une fonction qui a besoin de cette calback (par exemple EnumWindows) en lui passant l'adresse de la fonction à utiliser, et pour chaque fenêtre présente sur le système, Windows appellera cette callback : c'est donc dans la callback que tu dois réaliser les traitements sur les données qu'on t'envoie (affichage dans une listbox, par exemple).

De nombreuses sources ici utilisent EnumWindows ou associées, tu peux les regarder : çà te donnera une bonne idée du fonctionnement de la chose.
Messages postés
8
Date d'inscription
lundi 20 septembre 2004
Statut
Membre
Dernière intervention
6 juin 2005

en faite ce que je veux faire! J'ai une application qui appelle une DLL et je souhaite que suite à un evenement perçue par la dll, j'appelle une fonction donné de l'application.
Conclusion je souhaite que ma dll appelle une fonction ; fonction contenue dans une application.

Merci d'avance
kulk
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009

Si c'est toi qui programme le mécanisme de callback, tu dois d'abord savoir si ta DLL appelle soit une fonction libre (en C ou C++) soit une fonction membre d'un objet (en C++). A partir de la plusieurs implémentations sont envisageables.

Cordialement,
Xterminhate.
Messages postés
8
Date d'inscription
lundi 20 septembre 2004
Statut
Membre
Dernière intervention
6 juin 2005

ma DLL appelle une fonction d'un objet en C++. Quelles sont les solutions envisageables merci d'avance.
kulk
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009

Dans ce cas, tu dois être en mesure de fixer le type (de base) de l'objet dont tu appelles la ou les fonctions membres. { A ma connaisance, il n'est pas possible d'implémenter en C++ un mecanisme de callback de cette nature sans connaitre le type de l'objet appelé. }

Le plus simple consite à fournir à l'utilisateur de la DLL un objet de base dont les fonctions membres sont appellées lors de l'execution selon les evenments gérées par la DLL.

Cordialement,
Xterminhate.