Bonjour à tous,
Je suis entrain de cérer un utilitaire de test pour un accepteur/recycleur de Billet.
Le constructeur nous a transmis une dll (ou même 4 mais le chargement d'une seule est utile je pense étant donné que les 3 autres sont dans des includes de la première...) pour communiquer avec ce périph via usb.
Mon problème se situe lorsque je dois appeler une méthode de cette DLL prenant en paramètre 3 pointeurs de fonctions.
Voici le code posant problème avec mes 3 foutus pointeurs de fonctions ! :
Voici l'implémentation des 3 fonctions "callback" pointorisées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PROCEDURE OpenWithSN(sn est une chaîne) resDLL = AppelDLL32(C_BNR_DLL,"bnr_OpenWithSerialNr ", sn, &operationCompleteOccuredMethod, &statusOccuredMethod, &intermediateOccuredMethod)
Je vous fournit tout de même les prototypes "C" des méthodes de la DLL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 PROCEDURE operationCompleteOccuredMethod(identificationId est un entier sur 8 octets, operationId est un entier sur 8 octets, rst est un entier sur 8 octets, extendedResult est un entier sans signe sur 8 octets, data est un entier sur 8 octets) PROCEDURE statusOccuredMethod(status est un entier sur 8 octets, rst est un entier sur 8 octets, extendedResult est un entier sur 8 octets, details est un entier sur 8 octets) PROCEDURE intermediateOccuredMethod(identificationId est un entier sur 8 octets, operationId est un entier sur 8 octets, reason est un entier sur 8 octets, data est un entier sur 8 octets)
BNR_OPEN
T_OperationCompleteOccuredMethod operationCompleteOccured :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 BNRDLL_API T_BnrXfsResult CALLTYPE bnr_OpenWithSerialNr ( T_XfsUnitId serialNr, T_OperationCompleteOccuredMethod operationCompleteOccured, T_StatusOccuredMethod statusOccured, T_IntermediateOccuredMethod intermediateOccured )
T_StatusOccuredMethod statusOccured :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 typedef void(__stdcall * T_OperationCompleteOccuredMethod)(LONG32 identificationId, LONG32 operationId, LONG32 result, LONG32 extendedResult, void *data)
T_IntermediateOccuredMethod intermediateOccured :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 typedef void(__stdcall * T_StatusOccuredMethod)(LONG32 status, LONG32 result, LONG32 extendedResult, void *details)
Ca fait 2 jours que je suis dessus et je sèche vraiement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 typedef void(__stdcall * T_IntermediateOccuredMethod)(LONG32 identificationId, LONG32 operationId, LONG32 reason, void *data)
Merci pour votre aide car je n'y comprends plus rien avec ses pointeurs!
Partager