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 :
Dans mon unité principale :
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;
Petites indications :
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;
- 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.
Partager