Citation:
@bacelar: Tu craches sur LoadLibrary, mais comment tu charges dynamiquement une DLL de type plugin?
On n'a l’embarra du choix, les framework de plug-ins sont pléthores, même sans utiliser ceux offerts de base par Windows : COM, .NET, ou encore le delayloading :ptdr:
Citation:
et si en plus on a la contrainte du multiplateforme (donc pas de COM ou d'assembly .Net)
Parce que "LoadLibrary", c'est portable peut-être. :weird:
COM a été partiellement porté sur Mac et le XCOM de FireFox/Mazilla était assez proche de COM.
.Net a été porté sous Linux/MacOsX via le projet Mono.
Citation:
J'aimerais donc savoir ce que tu préconises, dans ce cas là?
Si c'est deu plug-Ins : utiliser un framework fait pour, moi fainéant. ;)
Si c'est juste pour utiliser un dll packagé avec les pieds : casser les pieds des fournisseurs pour qu'ils donnent les .lib et .h qui vont avec, ou si c'est des cons, les faire moi-même ( et c'est pas si dure, vue que c'est des noms non-décorés ;) )
Citation:
il faut que tu l'enregistres avec "regsvr32.exe <Chemin Complet>\MaDll.dll"
L'enregistrement n'est nécessaire qu'au déploiement.
L'ajout d'une dll COM dans les références d'un projet doit s’accompagner d'un "#import" dans le code source et des commandes d'enregistrement dans les post-action de la compilation.(cela permet de toujours utiliser la bonne version du composant)
Citation:
pour cela il te faut aussi connaitre l'espace de noms défini par ta DLL
???
C'est le genre de truc qui est récupérer par le dépiautage de la TLB par MIDL.EXE et consort, non ?
C'est même souvent "overwrité" lors de l'import.