J'essaye de faire appel à une DLL que je développe moi-même. Cette DLL est écrite en C et compilée avec gcc sous Cygwin. Mon problème est que je n'arrive pas à trouver la syntaxe pour transmettre une chaîne de caractères.
Test n°1 (avec func1 dans la DLL) : retour d'un entier => tout ok
Test n°2 (avec func2 dans la DLL) : la DLL attend un "char ifn[256]" et fait un test ultra-basique
Test n°3 (avec func3 dans la DLL) : la DLL attend un "char *ifn" et fait le même test ultra-basique
Je pense que la func3 est à préférer car la taille de la chaîne n'est pas fixée arbitrairement.
J'ai essayé avec "str", "wstr", "char" (avec ou sans "*"), rien n'y fait.
str, str*, wstr, wstr* => AutoIT3.exe ended.rc:-1073741819
char, char* => @error=1
Visiblement, ça fonctionne "moins mal" avec "char", mais dans ce cas je récupère un code d'erreur à 1 (unable to use the DLL file)
Ci-joint, tous les codes sources. Tous les fichiers ont un nom suffisamment explicite. La DLL "cygwin1.dll" est requise et est fournie. Si vous préférez recompiler ma DLL (confiance, sécurité...), le makefile est fourni (attention, fichier au format UNIX impératif chez moi !!)
► Afficher le texteCode de la DLL
► Afficher le texteCode de test1.au3
► Afficher le texteCode de test2.au3
► Afficher le texteCode de test3.au3
Solution fortement appréciée
Cordialement,
JLF


