Utilisation d'une dll
Developpeur WDF
Inscrit:
21/06/2005 18:17
Post(s): 115
Bonjour,

Je dois utiliser une dll mais je rencontre quelque problème.

Je vous explique ce que je fais :

- Dans mon appli je lance un Thread secondaire :

ThreadExécute ("Thread1", threadNormal , test)


- Dans la procédure test du thread je charge ma dll :

hInst = ChargeDLL (fRepExe+"\MaDll.dll")


Si elle est bien chargée j'appel la fonction de la dll que je dois utiliser :

res = AppelDLL32("MaDll.dll","LoadMGCPDATADUMP",17,0,&Ma_Callback)


Cette fonction doit appeler une procédure en callback donc d'après l'aide je passe en paramètre le pointeur vers ma Ma_Callback.

C'est à partir de la que j'ai un problème !

Lorsque la dll appel ma fonction callback elle passe en paramètre un pointeur vers un buffeur hors je ne sais pas comment déclarer mon paramètre pour pouvoir lire ce qu'il y à dans le buffeur.

J'ai besoins de votre aide pour déclarer ma procédure.

J'espère que ma description de mon problème est claire.

Merci d'avance.

Contribution le : 17/11/2005 10:43
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll
Anonyme
Bah à priori dans Windev la déclaration:

procédure ma_callback(adr_pointeur)

devrait suffire...
adr_pointeur devrait contenir le pointeur de la structure envoyé par la DLL...

Contribution le : 17/11/2005 15:00
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll
Developpeur WDF
Inscrit:
21/06/2005 18:17
Post(s): 115
ok mais adr_pointeur est de quel type ?

Et comment lire la structure apres ?

Contribution le : 17/11/2005 15:43
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Jérôme,

Tu définis ta structure du type
MaStr est une structure
 Param1 est un ...
 Param2 est un ...
 ParamN est un ...
Fin

dans la procédure appelé par le callback
PROCEDURE ma_callback(adr_pointeur)
Str est un MaStr

Transfert( &Str, adr_pointeur, <Longueur de la structure> )

Str contient alors les valeurs attendues.

Code saisi à la volée et non testé
Ceci est entierement théorique

Contribution le : 17/11/2005 16:48
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll

Inscrit:
19/11/2002 12:20
Post(s): 390
Bah c'est ça le charme, à priori vous n'avez pas besoin de la typer :)

Ensuite tout dépends de ce qui est à récupérer dans ce buffer?
En définitive qu'est ce? Une structure, une chaîne de caractère, une valeur numérique?

Contribution le : 17/11/2005 16:49
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll
Developpeur WDF
Inscrit:
21/06/2005 18:17
Post(s): 115
typedef struct tag_MGCPDATA
{
UINT LenData;
char *szDumpData;		// Buffer qui pointera sur le packet retourné dans la Callback 
}STMGCPDATA, FAR * LPSTMGCPDATADUMP;


voila la structure déclarée en c

Contribution le : 17/11/2005 17:00
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation d'une dll
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Citation :

JeromeR a écrit:
typedef struct tag_MGCPDATA
{
UINT LenData;
char *szDumpData;		// Buffer qui pointera sur le packet retourné dans la Callback 
}STMGCPDATA, FAR * LPSTMGCPDATADUMP;


voila la structure déclarée en c


// certains types de paramètres peuvent varier
// veuillez vérifier le type des paramètres indiqués !
STMGCPDATA est une structure
	LenData est un entier sans signe //Type C : UINT
	szDumpData est un entier //Type C : pointeur sur char
	Var_		// Buffer qui pointera sur le packet retourné dans la Callback est un entier //Type 		// Buffer qui pointera sur le packet retourné dans la Callback non retrouvé (entier est le type le plus fréquent, mais à VERIFIER)
FIN

Contribution le : 17/11/2005 17:52
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2