FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
pointeur, chaine et dll externe
pointeur, chaine et dll externe
Débuté par guest, 02 déc. 2005 14:35 - 3 réponses
Connectez-vous…
guest
#1
Posté le 02 décembre 2005 - 14:35
Bonjour a tous,
J'utilise une dll externe dans l'une de mes application que je suis entrain de développer.
L'une des fonctions de cette dll retourne un pointeur sur une chaine de caractère (j'en suis sûr). J'utilise le code suivant afin de tester :
1 hInst est un entier
2 res est un entier
3 ch1 est une chaîne
4 hInst = ChargeDLL("C:\...DllApi.dll")
5 SI hInst = 0 ALORS
6 Erreur(ErreurInfo())
7 SINON
8 API("C:\...Api.dll","mafonction","param1",&res)
9 info(res)
10 API("C:\...Api.dll","mafonction","param1",&ch1)
11 info(ch1)
12 DéchargeDLL(hInst)
13 FIN
Ce code fonctionne sans renvoyer d'erreur jusqu'a la ligne 10 où je suis confronté a une erreur "Violation d'accès à l'adresse 00CDA219 dans le module 'DllApi.dll'. Ecriture de l'adresse 25F20410". Avez vous une idée de comment faire fonctionner ce code ?
Afin de ne pas vous induire en erreur sachez que la Dll a été testée dans une développement avec un autre langage et que le résultat était concluant, par conséquent l'erreur doit provenir de mon code ci-dessus.
Merci pour votre aide.
Signaler
0
0
mkurth
#2
Posté le 02 décembre 2005 - 10:02
Salut,
ce n'est pas évident de t'aider en ne sachant pas quels sont les parmètres
de tes fonctions.
Je te suggère ceci. Si ton 2e appel à la dll (ligne 10) récupère une chaine
grâce au paramètre ch1, je te conseil plustôt de lui passer l'adresse d'un
entier. Ensuite utilises la fonction ChaîneRécupère avec la valeur de ton
entier.
Si ça ne fonctionne pas il faudrait plus d'information sur cette dll et ces
fonctions.
Mathieu
Signaler
0
0
lb
#3
Posté le 02 décembre 2005 - 18:10
Le type chaîne est dynamique et ne convient pas à l'appel de fonctions de DLL.
il faut utiliser des chaines asciiz d'une taille donnée. La taille doit correspondre aux spécifications de la fonction de la DLL.
A+
Signaler
0
0
guest
#4
Posté le 05 décembre 2005 - 10:51
Merci, je ne connaissais pas la fonction ChaineRecupere, j'ai suivi ta méthode et le résultat est concluant. Je vais donc pouvoir continuer mes tests.
Encore merci, GG
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte