Bonjour,
Petit problème, je voudrais passer en x64 pour Interbase Serveur mais je dois recompiler la librairie UDF en 64 et j'ai des problèmes les fonctions qui traite avec des pchar... J'ai en retour que le premier caractère ou une erreur:
Dans ce cas, j'obtiens 'T', si je mets autre chose soit un message d'erreur ou un 'T'...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 unit MathFncs; interface function TestPChar(var Value: Double): PChar; cdecl; export; ... implementation uses Windows, SysUtils, ibexternals; function TestPChar(var Value: Double): PChar; begin result :='Test'; end; ...
Quelqu'un peut m'aider?
Merci d'avance!
Edit :
Ca progresse :
Avec ceci, j'ai la bonne valeur qui me revient mais de 255 caractères. Apparement le DLL 32 bits fait la même chose!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function TestPChar(var Value: Double): PAnsiString; var Valeur:AnsiString; begin Valeur := Format('%8.2m',[Value]); result := PAnsiString(Valeur); end;
Je vais regarder toutes les fonctions que j'utilise et si je vois des erreurs, je reviendrai sur le forum.
Partager