1 pièce(s) jointe(s)
Utilisation d'une bibliothèque écrite en C
Bonjour,
J'ai l'impression que l'utilisation avec Lazarus d'une bibliothèque écrite en C/C++ est compliquée.
Je souhaite utiliser certaines fonctions ou procedures provenant d'une bibliothèque en C/C++.
J'ai créé une bibliothèque de test (MyLib.lib) que j'ai ajoutée au projet (Projet -> Inspecteur de projet)
Le code source en C/C++ (fait avec une ancienne version de Borland Builder C++ 6) :
la bibliothèque est créée avec l'option DLL en C++
Code:
1 2 3 4 5 6 7
| extern "C" __declspec(dllexport) __cdecl void MonTest(char *Msg);
//---------------------------------------------------------------------------
void __cdecl MonTest(char *Msg)
{
strcpy(Msg, "Mon premier Test : MyLib.lib");
} |
Dans Lazarus (2.0.12) : Sur le formulaire, j'ai placé un bouton pour appeler la procédure MonTest :
la déclaration de la procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11
| procedure MonTest(Msg:String);cdecl;external 'MyLib.lib' name 'MonTest';
// la procedure MonTest() :
procedure TForm1.Button1Click(Sender: TObject);
VAR
s:String;
begin
s:='';
MonTest(s);
ShowMessage(s);
end; |
A l'exécution du programme de test :
j'ai l'erreur suivante :
Pièce jointe 600820
Merci pour un conseil de débogage.
Cordialement