Page 1 sur 1

PURE BASIC et AUTOITX (dll)

Publié : dim. 13/juin/2004 20:13
par LOULOU25
La fonction suivante

Code : Tout sélectionner

CallFunction(0,"AU3_IniRead" , strChemin4 , "KPaysCombo1282", "ColonneDefaut", "NotFound" )
devrait retourner une variable chaine , or la valeur de retour est un entier
Quelqu'un aurait-il la réponse ?

Publié : dim. 13/juin/2004 20:16
par fweil
Ne serait-ce pas l'adresse de la chaine ?

Auquel cas il faudrait faire chaine = peeks(valeur)

Publié : dim. 13/juin/2004 21:06
par LOULOU25
Je ne crois pas , car l'entier retourné correspond à la valeur 13 qui corresponsd à la longueur de l'avant dernier argument.

Publié : dim. 13/juin/2004 21:48
par nico
AutoItX est un control activeX, ça fonctionne comme pour les interfaces Com Window...non??!!!

Publié : dim. 13/juin/2004 22:07
par LOULOU25
Tu as raison Nico, mais pour moi ce que tu viens de dire , je ne le comprends pas j'utilise cette dll et sauf lorsqu'il y a des caractéres à retoruner tout semble fonctionner. Si tu as un e solution éclaire ma lanterne je t'en serais reconnaissant,
Merci par avance

Publié : dim. 13/juin/2004 23:04
par nico
C'est bizarre, j'ai regardé dans l'aide, je trouve IniRead mais pas AU3_IniRead ?

Publié : lun. 14/juin/2004 6:14
par LOULOU25
C'est tout à fait normal nico car j'ouvre la dll avec purebasic

Re: PURE BASIC et AUTOITX (dll)

Publié : lun. 14/juin/2004 12:25
par Anonyme2
LOULOU25 a écrit :La fonction suivante

Code : Tout sélectionner

CallFunction(0,"AU3_IniRead" , strChemin4 , "KPaysCombo1282", "ColonneDefaut", "NotFound" )
devrait retourner une variable chaine , or la valeur de retour est un entier
Quelqu'un aurait-il la réponse ?

Je ne comprend pas trop ton code, pas assez documenté.
C'est strChemin4 qui doit retourner une chaine ? C'est le résultat même de Callfunction qui retourne 13 ?

La variable strChemin4 a-t-elle été déclarée comme string (strChemin4.s) et de la place en mémoire lui-a-t-elle été allouée avec par exemple strChemin4.s = space (256) ?

ça serait bien de mettre le code avec le nom de la dll etc

Publié : lun. 14/juin/2004 15:03
par LOULOU25
Documentation de la dll

Code : Tout sélectionner

IniRead ( "filename", "section", "key", "default" )
filename The filename of the .ini file. 
section The section name in the .ini file. 
key The key name in the in the .ini file. 
default The default value to return if the requested key is not found. 
Return Value[/b]
Success: 
Returns the requested key value. 
Failure: Returns the default string if requested key not found. 
Remarks
A standard ini file looks like:
[SectionName]
Key=Value
Documentation de l'appel :
Voir module d'HELP d'une DLL

Publié : lun. 14/juin/2004 15:22
par Anonyme2
Je viens de chercher un peu sur InitRead et d'après ce que j'ai lu, s'il y a une erreur dans l'appel de la fonction le premier paramètre donc ici strChemin4 retourne le numéro de l'erreur ; donc 13 mais je ne sais pas si ce numéro d'erreur correspond à l'erreur ERROR_INVALID_DATA (donnée invalide) de microsoft qui a la valeur 13.

Publié : lun. 14/juin/2004 15:36
par KarLKoX
En VB, l'erreur 13 est une erreur de type ("type mismatch").
Je te conseillerais plutôt d'utiliser AutoItDLL qui est une vraie DLL.

Publié : lun. 14/juin/2004 15:38
par LOULOU25
D'aprés mes différents essais , il semblerait qu'avec cette DLL dés que la valeur de retour est du type string il y a un problême. En effet la valeur de retour (13) semble correspondre à la logneur du 3éme argument nommé en l'occurence la longueur de l'argument Key soit dans mon exemple

Code : Tout sélectionner

ColonneDefaut
Cet observation est corroborée par le fait que lorsque lje change la valeur de cet arguiment, le code de retour dépend de la longueur de l'argument