Bonjour,
J'ai une erreur de violation d'accés dans mon code lors de l'utilisation d'une fonction exportée d'un package.

Je vais faire court :
J'ai un package où je defini une fonction de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function Uncrypt(Value: String): String; stdcall;
 
Exports Uncrypt;
 
implementation 
function Uncrypt (Value: String): String; 
begin
    REsult := 'MPL';
end;
Dans mon unité principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure test;
Type
    TSec = function (Value : String) : String; stdcall;

var 
   Sec : Tsec;
   S := String;
begin
 // Récupération de la focntion du paquet en utilisant GetProcAddress

 S := Sec('te'); //Erreur ici de violation d'accés si dernière ligne de la procedure
end;
Petites indications :
- Cela ne se produit pas quand je retourne un int à la place d'un string
- Cela ne se produit pas quand je retourne ''

Je penchais sur le type string qui ne peux pas être utilisé dans une fonction export mais le même problème se produit si je le place en variable Var d'une procedure.

Si quelqu'un à une idée, je suis tout ouïe.