OVH Cloud OVH Cloud

Appel de fonction définie dans une DLL

1 réponse
Avatar
quentin_seemuller
Bonjour
J'ai un problème d'appel de fonction dans des DLL sans doute très
simple mais j'ai bcp de mal.
J'ai une classe A dans laquelle je déclare un tableau de pointeur sur
des fonctions défnies dans une DLL. Comme ces fonctions ont des
arguments différents et retournent des types differents, j'ai casté le
tableau :

class A :

void* TableauFonction[];

j'ai une classe B dans laquelle je déclare un pointeur sur la classe A
A* pA;

pour remplir mon tableau, je fais une boucle avec des GetProcAdress.
En verifiant avec Debug, je constate que dans mon tableau, j'ai bien
des pointeurs vers les fonctions définies dans la DLL.
Le problème survient quand je veux appeller cette fonction dans le
B.cpp

je fais un
this->pA->TableauFonction[0](mes arguments);

pour appeller la première fonction du tableau. Et il me dit à la
compilation
error C2064: term does not evaluate to a function

Alors la je comprends plus, comment je lui passe ses arguments à ma
fonction, ou alors j'ai fait une grosse bourde avant ( je débute en
C++)
Voila, si ce problème interesse quelqu'un, sa solution m'interesse
beaucoup.
Quentin Seemuller

1 réponse

Avatar
Laurent DELEPINE
Quentin wrote:

je fais un
this->pA->TableauFonction[0](mes arguments);


(this->pA->TableauFonction[0])(mes arguments);

C'est mieux.

Au passage, le this est inutile.

A+

LD