C'est fait, t'inquiete ;)
Pas de pb de ce cote la.
godbout
BENB -> Tout ce que je sais c'est que dans l'exe ils utilisent un LoadLibrary et un GetProcAddress, on m'a juste file les fonctions qui sont appelees, et moi je retravaille dessus.
Mais bon sur ca y a pas de prob, c'est plutot entre .DEF/__desc...
que ca coince un peu.
Mais j'ai change les __declspec(dllexport) / (dllimport) en __stdcall et c'est bon, y a plus de pb.
Pour les fonctions elles sont en extern "C"
chrisbk
Y departage a la compilation
dans ton projet DLL fo que tu inclue MOBALPA_EXPORTS dans les symbols definie
Mais partage comment ca ?
il est inclus aussi dans l'exe ?, ou alors il l'utilise lors de l'appel ?
BENB
Juste une note-> les fonction qui sont exportee par la Dll doivent etre importe par ceux qui utilisent la Dll, et la ...
soit tu utilises __declspec(dllimport), d'on l'interet d'un define suivant que le .h est lu dans la Dll ou dans l'utilisateur....
soit tu fait un GetProcAdress... mais la un Pb peut se poser, en effet le "vrai nom" d'un fonction C++ inclus des decoration (pour indiquer la liste des types des arguments) et donc une fonction qui n'est pas definie avec extern 'C" peut etre dure a trouver...
godbout
ouais je rentrais dans la fonction, c'est apres le return que ca chiait mais l'explication est juste au dessus ;)
chrisbk
fais gaffe paske ton .h il est partage
donc :
__declspec(dllexport) pour le .h quand tu compile ta DLL
et
__declspec(dllimport) pour le .h quand tu compile l'exe
chrisbk
bah t'as l'exe (au moins pour tester) non ?
ben tu compile ta DLL en debug et lance le debuggeur ...tu verra comme ca si tu entre dans ta fonction..
godbout
Apparemment ca viendrait du fait que je fais en meme temps un __declspec(dllexport) et un .DEF, pourtant dans le msdn ils disent qu'on peut faire les deux a la fois :??:
godbout
ok pour la recherche, je croyais qu'au bout de 15 jours ca degageait, je vais relire le topic
godbout
j'ai pas acces a l'exe pour la dll que je fais, donc pour le pointeur c'est : dmc :
chrisbk
a mon avis il apas disparu, juste qu'il est plus vieux que la date de limite de recherche :D
Sinon oui ca a l'air OK to souc . si y trouve po la fonction y va te rendre un ptr NULL donc regarde si c'est ca . (sinon bah c ailleurs ;) )
godbout
Je sens que je vais me faire engueuler moi :D
Le topic sur les dll a disparu, et je voudrais m'assurer d'avoir bien compris tout ca, parce que j'ai des petits pb (segment error) en ce moment, et ca a l'air de venir de l'exportation des fonctions.
Voila ce que j'ai compris, si y a une erreur que quelqu'un m'arrete ;)
1) Pour exporter des fonctions, on a deux possibilites:
Soit un .DEF, ou l'on met le nom des fonctions a exporter, soit on define un DEFNIMP __declspec(dllexport), et devant chaque fonction a exporter on met DEFNIMP.
2) Pour utiliser la dll, soit un utilise le lib et les .h que l'on met dans le projet (run time), soit on fait un LoadLibrary et un GetProcAddress (load time (plug in)).
Voila si j'ai oublie des trucs ben c'est que je les sais pas.
J'crois que ca doit etre pas trop mal mais y a encore quelques trucs que je comprends pas bien, genre le .DEF (j'arrive pas avec les ordinaux @..)...