Salut,
Je voudrais savoir comment il est possible de retourner plusieurs valeurs dans un DLL en un seul appel et ce sans utiliser de structure !
Cela doit ce faire avec un bloc mémoire, je suppose !???
Dll
ou simplement en renvoyant une chaine de charactere contenenant les valeur a retourner serparer par exemple par un espace, un exemple :
et pour essayer :
Code : Tout sélectionner
proceduredll.s test()
procedurereturn "12 14 15"
endprocedure
Code : Tout sélectionner
openlibrary(0, "blababla")
res.s = peeks(callfunction(0, "test"))
debug stringfield(res, 1, " ")
debug stringfield(res, 2, " ")
debug stringfield(res, 3, " ")
Je posais la question car j'ai vu que Blitz Basic utilise la mémoire pour envoyer et recevoir plusieurs valeurs.
Complètement déroutant au départ, et finalement très simple et efficace à l'utilisation.
cederavic, ton exemple est intéressant à plus d'un titre car il permet d'envoyer des chaines de caractères et des valeurs numériques en même temps et simplement.
Complètement déroutant au départ, et finalement très simple et efficace à l'utilisation.
cederavic, ton exemple est intéressant à plus d'un titre car il permet d'envoyer des chaines de caractères et des valeurs numériques en même temps et simplement.

mercinico a écrit :Je posais la question car j'ai vu que Blitz Basic utilise la mémoire pour envoyer et recevoir plusieurs valeurs.
Complètement déroutant au départ, et finalement très simple et efficace à l'utilisation.
cederavic, ton exemple est intéressant à plus d'un titre car il permet d'envoyer des chaines de caractères et des valeurs numériques en même temps et simplement.

et si tu veus recuperer les valeur en valeur numerique, il te suffit d'utilise Val()
