Hello.
J'ai créé une DLL à l'aide de Delphi 5.
Voici la définition de la fonction.
J'ai mis en gras les définitions des paramètres qui me posent problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function GetFullOcrInfo( ai_OCR : PChar ; ai_Date : Pchar ; var ao_FaceValue : Double; var ao_Currency : Integer; [b] var ao_BenefValidityDate : Pchar;[/b] [b]var ao_AffiliateValidityDate : Pchar;[/b] var ao_VoucherType : Integer) : integer ; stdcall; external 'EasyScan.dll' name 'GetFullOcrInfo' ;
Cette fonction se comporte parfaitement lorsque le programme appelant est développé en Delphi.
Dans un autre langage (PowerBuilder dans mon cas), je reçois des valeurs bidon.
Les arguments de type Pchar passés par valeur fonctionnent tout à fait bien contrairement aux arguments de type Pchar passé par référence.
Quelqu'un a-t-il une idée ?
Comme d'habitude, un quatrain pour celui qui me donne la solution.
Partager