Bonjour,
Je débute en DELPHI depuis 2 semaines ...
Je developpe actuellement une appli sous DELPHI qui doit utiliser les services d'une dll C++, compilée sous BC55.
J'ai donc déclaré en statique les prototypes de ces services dans mon projet DELPHI avec les mots clés qui vont bien (cdecl, external, name, ....) et la compile passe.
Exemple de service dans l'API C++ :
int DECLSPEC _MaFonction ();
je traduit en Pascal par :
function _MaFonction : integer; cdecl; external 'malibrairie.dll';
et à l'execution tout se passe bien.
En revanche, lorsque je tombe sur un service du type :
int DECLSPEC _MaFonction(const char * RF_ConfigDescr, const long RF_TailleConfigDescr, int * RF_Status);
je le transcris en Pascal de la façon suivante :
function _MaFonction(const RF_ConfigDescr : PChar; const RF_TailleConfigDescr : longint; var RF_Status : integer):integer; cdecl; external 'malibrairie.dll';
et là, l'exécution, mon projet plante, Windows m'insulte et ma parle d'une erreur de violation d'accès et me propose une fenêtre assembleur à laquelle je ne pipe mot !
Je soupçonne que le typage que j'utilise n'est pas approprié mais j'ai beau tout essayer, je ne trouve pas le bon.
Merci de vos réponses....
Partager