PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Casse tête : Appeldll32
Casse tête : Appeldll32
Débuté par Alexandre, 08 déc. 2005 11:15 - 5 réponses
Posté le 08 décembre 2005 - 11:15
Bonjour,

J'ai une application en vb qui utilise une dll, je tente de créer cette appel de dll en Windev Mobile mais la dll me renvoi toujours un code erreur.

Voici le code vb :

Private Const SHARED_PATH As String = "\Program Files\Fonix\FRE\fd01\usenglis
h\asr\"
Private Const GEN_NN As String = "usgp11FN3108"
Private Const DIG_NN As String = "usdi11FN3066"
Private Const ASR_FILE As String = "USEnglish.pdc"
Private g_hASR As Long

Dim lRes As Long
lRes = FnxASRInit(SHARED_PATH, GEN_NN, DIG_NN, ASR_FILE, g_hASR)

Voici la traduction en windev mobile :

SHARED_PATH est une chaîne sur 44 = "\Program Files\Fonix\FRE\fd01\usenglish\
asr\"
GEN_NN est une chaîne sur 12= "usgp11FN3108"
DIG_NN est une chaîne sur 12= "usdi11FN3066"
ASR_FILE est une chaîne sur 13= "USEnglish.pdc"
g_hASR est entier

lRes est entier
lRes = AppelDLL32("FonixVBAsr40CE.dll","FnxASRInit",SHARED_PATH, GEN_NN, DIG_NN,ASR_FILE, &g_hASR)


Voila j'espere que quelqu'un aura la solution car la je c plus quoi faire.

Syntax de la fonction vb:

FnxASRInit(ByVal szSharedPath As String, ByVal szGenNN As String, ByVal szigNN As String, ByVal szASRFile As String, ByRef hASR As Long) As Long

Cordialement.
Posté le 08 décembre 2005 - 14:20
tu as déjà posé cette question sur le newsgroupe WD mobile et obtenu des
réponse...

eric l

;)

"Alexandre" <alexandre@dyade-fr.com> a écrit dans le message de news:
43980156$1@news.pcsoft.fr...

Bonjour,

J'ai une application en vb qui utilise une dll, je tente de créer cette
appel de dll en Windev Mobile mais la dll me renvoi toujours un code
erreur.

Voici le code vb :

Private Const SHARED_PATH As String = "\Program
Files\Fonix\FRE\fd01\usenglis
h\asr\"
Private Const GEN_NN As String = "usgp11FN3108"
Private Const DIG_NN As String = "usdi11FN3066"
Private Const ASR_FILE As String = "USEnglish.pdc"
Private g_hASR As Long

Dim lRes As Long
lRes = FnxASRInit(SHARED_PATH, GEN_NN, DIG_NN, ASR_FILE, g_hASR)

Voici la traduction en windev mobile :

SHARED_PATH est une chaîne sur 44 = "\Program
Files\Fonix\FRE\fd01\usenglish\
asr\"
GEN_NN est une chaîne sur 12= "usgp11FN3108"
DIG_NN est une chaîne sur 12= "usdi11FN3066"
ASR_FILE est une chaîne sur 13= "USEnglish.pdc"
g_hASR est entier

lRes est entier
lRes = AppelDLL32("FonixVBAsr40CE.dll","FnxASRInit",SHARED_PATH, GEN_NN,
DIG_NN,ASR_FILE, &g_hASR)


Voila j'espere que quelqu'un aura la solution car la je c plus quoi faire.

Syntax de la fonction vb:

FnxASRInit(ByVal szSharedPath As String, ByVal szGenNN As String, ByVal
szigNN As String, ByVal szASRFile As String, ByRef hASR As Long) As Long

Cordialement.


Posté le 08 décembre 2005 - 15:10
Non justement aucune réponse positive.
Posté le 08 décembre 2005 - 16:39
effectivement, autant pour moi et 1001 excuses ;)

- en windev mobile les chaînes sont toutes unicode... peut etre une piste ?
-> utiliser le type buffer et faire éventuellement :

bTemp est buffer = unicodeversansi("blabla")

api("madll.dll", "mafonction", &bTemp)

ou approchant

ton exemple en vb est sur pc ou sur pocket pc ?

eric l.

"Alexandre" <alexandre@dyade-fr.com> a écrit dans le message de news:
43983840$1@news.pcsoft.fr...

Non justement aucune réponse positive.
Posté le 08 décembre 2005 - 17:15
Bonjour,
A tu essayé avec chaine ASCIIZ
ou avec Chaine = "tatempion" + caract(0)

@+
Vincent Barré
Posté le 08 décembre 2005 - 22:01
Bonjour, j'aurais une piste pour toi...
Que vous avez commencez à initier en parlant d'unicode

Essaye de doubler les tailles de tes chaines

SHARED_PATH est une chaîne sur 88 = "\Program Files\Fonix\FRE\fd01\usenglish\asr\"
GEN_NN est une chaîne sur 24= "usgp11FN3108"
DIG_NN est une chaîne sur 24= "usdi11FN3066"
ASR_FILE est une chaîne sur 26= "USEnglish.pdc"


En espérant t'avoir aidé
Marc