Envoyé par
Ange_blond
En utilisant les heritages, les variables statiques et le load dynamic, on peut se passer des getProcAdress.
si la DLL implémente une classe qui herite d'une classe déclarée dans un core, et que :
* dans la dll il y a un membre static
* dans le core il y a la déclaration du membre static avec dans le constructeur une mise en mémoire (pushbask dans une liste ou similaire) de l'element qui vient d'etre construit ...
alors au chargmeent de la DLL, automatiquement ta variable static sera implémentée, le constructeur appellé dans le core, et donc dans le core tu aura ton instance de classe de ta DLL.
Testé et approuvé.
Necessite par contre quelques aménagements : heritage, méthodes virtuelles, code dans la DLL et dans le core, DLL qui dépend donc du core pour compiler et enfin, dans le cs d'un singleton qui est un registre pour gerer les dll dynamiques, il faut que le core soit aussi une lib....
Mais dans certains cas (dans le mien) c'est tres pratique.