I ont les éléments suivants dans une structure:
- nom Dll (chemin d'accès absolu/relatif)
- Nom de la fonction dans la DLL
- nombre de paramètres
- Tableau de types de paramètres et valeursAppeler une fonction dll sur la base de paramètres variables
Avec cette information, j'ai besoin de charger la DLL et appeler la fonction.
Pour charger la DLL, j'utiliserais LoadLibrary.
Pour obtenir l'adresse de la fonction j'utiliserais GetProcAddress.
Appelez la fonction.
Pour décharger la DLL, FreeLibrary
Étant donné que le nombre d'arguments de la fonction est dynamique, je ne suis pas sûr de la façon dont les arguments doivent être transmis à la fonction.
Quelqu'un peut-il fournir des détails sur la façon dont les paramètres peuvent être transmis à la fonction dll?
Merci et salutations, V Karthick
Je ne suis pas sûr de savoir comment la fonction wrapper appellera la DLL finale. Les combinaisons possibles seraient énormes - en considérant un maximum de 10 paramètres et types de paramètres à int, float et string. – Karthick
L'idée serait d'écrire la fonction wrapper dans la DLL elle-même. De cette façon, le wrapper sait à quoi s'attendre dans le dictionnaire et sait comment les allouer. –
J'ai le même problème. Le problème, cependant, est que la DLL est complètement arbitraire. Je veux quelque chose qui fonctionne pour toutes les DLLs - celles que j'ai faites, et celles que je ne fais pas ... Je pense que c'est aussi le problème de @ Karthick. – Codesmith