Bonjour à tous, et merci d'avance pour vos réponses et conseils éclairés.
Je fabrique actuellement des DLL qui contiennent, non pas des objets ou des classes, mais simplement des fonctions exportables vers d'autres DLL ou applicatifs.
Je précise que je n'utilise absolument pas de MFC.
Exemple, soit une fonction "float somme(float &a, float &b)".
Je crée une DLL nommée somme, à l'intérieur de laquelle on trouve la fonction exportée somme.
(l'exportdes fonctions se fait par le biais d'un fichier .def de cette façon, j'exporte des fonctions au format C, et non au format C++, (pas de @@@@@@ lors de l'aperçu rapide des fonctions exportées sosu Windows).
Le programme appelant ces différentes fonctions utilise un chargement dynamique des DLL (LoadLibrary, puis GetProcAddress).
Les chargements se déroulent correctement, si ce n'est que lorsque le nombre de fonctions à charger en mémoire devient important (36), la dernière fonction ne se charge plus).
Le code d'erreur retourné par LoadLibrary est 1114, ce qui correspond à :
"A dynamic link library (DLL) initialization routine failed. ".
J'ai recherché dans l'aide MSDNet à DLL initialization, et on trouve un txte expliquant la nécessité de créer pour chaque DLL d'extension une fonction d'initialisation qui doit être appelée par le programme appelant. Cependant, ce paragraphe ne semble se référer qu'aux structures utilisant des MFC. Que faut-il faire ?
Est-il obligatoire d'utiliser des fonctions d'initialisation, et le cas échéant, quel est leur rôle ? fonction ?
Quel document, écrit en français, permettrait d'y voir plus clair ?