comment utiliser une DLL win32 en C??
bonjour...
Je dispose d'une DLL win32 écrite en Pascal. Je souhaite utiliser cette DLL dans un programme C. Après avoir chargé ma DLL, j'arrive de manière dynamique à utiliser quelques fonctions de la DLL mais pas toutes. En effet certaine d'entre elles ont un prototype particulier et me renvoie des paramètres incompatible avec le C.
J'ai par exemple la fonction suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
//définition du prototype de la fonction
typedef (*FCTX1) (char *monNom);
// Déclaration du pointeur
FCTX1 Ptr1;
//chargement de la fonction "fonctionIdentification"
Ptr1 = (FCTX1)GetProcAddress(ModId, "fonctionIdentification") //ModId contient l'adresse de la DLL
//utilisation de la fonction "fonctionIdentification"
Ptr1 ("jayceBlaster"); |
Pour ce type de fonction je n'ai aucun problème mais la ou ca coince c lorsque j'ai des fonction qui n'attendent aucun paramètre d'entrée et me renvoie un string qui est un type nom reconnu en C.
je n'arrive meme pas a définir le prototype de ma fonction dans le C. Je serai tenté d'écrire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
//définition du prototype de la fonction
typedef string (*FCTX2) ();
// Déclaration du pointeur
FCTX2 Ptr2;
//chargement de la fonction "heure"
Ptr2 = (FCTX2)GetProcAddress(ModId, "heure") //ModId contient l'adresse de la DLL
//utilisation de la fonction "heure"
maChaine=Ptr2 (); // maChaine== string |
Mais ceci ne marche pas bien entendu d'une part car le type string est inconnu en C et d'autre par car le compilateur n'accepte pas la définition de cette fonction qui n'attend aucun paramètre d'entrée..
J'espere que je suis claire dans mes explications et que quelqu'un pourra me venir en aide??
merci...
Re: comment utiliser une DLL win32 en C??
Citation:
Envoyé par Jayceblaster
Je dispose d'une DLL win32 écrite en Pascal. <...>
Il existe un forum "Développement Windows".