Re: Passage de paramètres avec la fonction API

Posté par bofkill le 13/2/2008 12:43:19
Oh là là, je suis complètement paumé là ><

Après quelques tests supplémentaires, voilà que la fonction s'exécute sans erreur.

Mais voilà mon appel :


sfBufferLoc est une chaîne fixe sur 255
nLengthLoc est un entier = 254
nEomcharLoc est un entier sur 1 octet
nC1c2Loc est un entier sur 1 octet
nActualLengthLoc est un entier
nTimeOutLoc est un entier = 50

nRes = API(gsDll, "receiveMsg", sfBufferLoc, nLengthLoc, &nActualLengthLoc, &nEomcharLoc, &nC1c2Loc, nTimeOutLoc)


1er constat, la chaine est fixe, et je passe directement la variable et pas son adresse (1er truc très louche)

La fonction s'exécute, j'ai un nActualLengthLoc qui parait correct (79 caractères), jusque ici, tout va bien.

Sauf que mon sfBufferLoc est vide.. Enfin, ça, ça me paraît logique étant donné que je lui passe directement la chaine au lieu de son adresse.

Ce qui ne me parait pas logique en revanche, c'est que je n'ai pas de plantage lorsque je passe la chaîne, et on son adresse, à la fonction. Dans le code C, il attend un pointeur.

Je suis vraiment paumé là :o

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5693&post_id=23216