PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [WD14] Appel DLL C++
[WD14] Appel DLL C++
Débuté par Thierry G, 14 fév. 2011 13:33 - 1 réponse
Posté le 14 février 2011 - 13:33
Bonjour

J'essaie de comprendre l'appel au DLL. Cette DLL a été écrite en C++.
Je rencontre un problème d'exécution. Voici le charabia renvoyé
Signature du problème :
Nom dEvénement de problème:BEX
Nom de lapplication:reeduc_bras.exe
Version de lapplication:1.0.0.0
Horodatage de lapplication:49a409f1
Nom du module par Défaut:MSVCR90.dll
Version du module par Défaut:9.0.30729.4926
Horodateur du module par Défaut:4a1743c1
Décalage de lEXCEPTION:000348ec
Code de lEXCEPTION:c0000417
Données dEXCEPTION:00000000
Version du système:6.1.7600.2.0.0.256.48
Identificateur de paramètres régionaux:1036
Information supplémentaire n° 1:f0cc
Information supplémentaire n° 2:f0cc35a1ae97c8f2f52345714d601492
Information supplémentaire n° 3:14b3
Information supplémentaire n° 4:14b3276ad66e75d335b45ea46565be5c

Lire notre déclaration de confidentialité en ligne :
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x040c

SI la déclaration de confidentialité en ligne nest pas disponible, lisez la version hors connexion :
C:\Windows\system32\fr-FR\erofflps.txt


j'ai juste exécuté le code windev suivant:
gnIdDLL est un entier// Identifiant de la dll
gnIdDLL=ChargeDLL("dllMotionVC.dll")
b est un booléen=AppelDLL32("dllMotionVC.dll", "_StartMotion@4")


Débutant dans ce type d'appel, je ne comprends pas d'où viens le PB.

Question subsidiaire, à quoi correspond le @4?

merci
Posté le 15 février 2011 - 09:41
bonjour
As tu la documentation de ta DLL ou un exemple d'utilisation car je ne
trouve rien sur google avec "dllMotionVC.dll"
Petite remarque en passant, en général les chaines sont passées par adresse
: préfixé par &

gnIdDLL est un entier
b est un booléen
sCommande est une chaine asciiz sur 128

gnIdDLL=ChargeDLL("dllMotionVC.dll")
if gnIdDLL > 0 then
sCommande = "_StartMotion@4"
b = AppelDLL32("dllMotionVC.dll", &sCommande)
end

"Thierry G" <thierry.gourdeaux@univ-ubs.fr> a écrit dans le message de news:
469297026d32dc823755a9b59ca6cf08@news.pcsoft...

Bonjour

J'essaie de comprendre l'appel au DLL. Cette DLL a été écrite en C++.
Je rencontre un problème d'exécution. Voici le charabia renvoyé
Signature du problème :
Nom dEvénement de problème: BEX
Nom de lapplication: reeduc_bras.exe
Version de lapplication: 1.0.0.0
Horodatage de lapplication: 49a409f1
Nom du module par Défaut: MSVCR90.dll
Version du module par Défaut: 9.0.30729.4926
Horodateur du module par Défaut: 4a1743c1
Décalage de lEXCEPTION: 000348ec
Code de lEXCEPTION: c0000417
Données dEXCEPTION: 00000000
Version du système: 6.1.7600.2.0.0.256.48
Identificateur de paramètres régionaux: 1036
Information supplémentaire n° 1: f0cc
Information supplémentaire n° 2: f0cc35a1ae97c8f2f52345714d601492
Information supplémentaire n° 3: 14b3
Information supplémentaire n° 4: 14b3276ad66e75d335b45ea46565be5c

Lire notre déclaration de confidentialité en ligne :
http://go.microsoft.com/fwlink/?linkid4288&clcid=0x040c

SI la déclaration de confidentialité en ligne nest pas disponible, lisez
la version hors connexion :
C:\Windows\system32\fr-FR\erofflps.txt


j'ai juste exécuté le code windev suivant:
gnIdDLL est un entier // Identifiant de la dll
gnIdDLL=ChargeDLL("dllMotionVC.dll")
b est un booléen=AppelDLL32("dllMotionVC.dll", "_StartMotion@4")


Débutant dans ce type d'appel, je ne comprends pas d'où viens le PB.

Question subsidiaire, à quoi correspond le @4?

merci