Bonjour,
Je développe une classe de communication et pour ce faire j'utilise des API(s) windows. Certaines fonctions de cette API demande en paramètre l'adresse d'une fonction (fonction de callback). Lorsque cette fonction de callback est définie en tant que procédure globale dans Windev, cela fonctionne, windev autorise le passage de l'adresse de cette procédure en tant que paramètre de la fonction de l'API.
Par contre, je souhaite, pour des besoins d'indépendance de ma classe (qu'elle ne dépendance donc pas de procédures globales Windev), implémenter la callback sous la forme d'une méthode de ma classe et non sous la forme d'une procédure globale. Et la, windev me sort une erreur me disant qu'on ne peut appliquer l'opérateur & que sur une variable.
Comment faire pour que ma callback, dont l'adresse est passée en paramètre de la fonction de l'API, soit implémentée sous la forme d'une méthode de ma classe ?
Voici quelques morceaux de code pour y voir plus clair :
1) Fonction "callback" en tant que procédure globale WINDEV
Appel de la fonction de l'API avec adresse de la callback en paramètre
Ce code est placé dans une méthode de ma classe de communication
AppelDLL32("MaDLL.dll,"FonctionX",param1,&callback,param2)
CA PASSE
2) Fonction "callback" en tant que méthode de ma classe
AppelDLL32("MaDLL.dll,"FonctionX",param1,&:callback,param2)
ERREUR : l'opérateur & ne peut être appliqué qu'à des variables
Quelqu'un a-t-il une solution à ce problème ? Comment faire ??
Merci d'avance
Partager