Bonjour,
voilà j'utilise une fonction d'une DLL qui me retourne un "char *" :
J'ai déclaré la fonction comme suis sous Delphi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part char* GetErrorString(long int lErrorNumber)
Le problème c'est que dès que je commence à utiliser la chaîne retournée je me tape des access violation dans tous les sens
Code : Sélectionner tout - Visualiser dans une fenêtre à part function get_error_string(error_number: Int64): PChar; cdecl; external 'madll.dll' name 'GetErrorString'
Ci-joint le code que j'utilise :
Bon ca doit certainement être gros comme un paquebot mon erreur mais là j'avoue que je sèche...
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 procedure ReturnGANG430ErrorMessageInStatusMemo(result_code: Int64); var p_error_message: PChar; error_message: String; taille: Integer; begin try GetMem(p_error_message, 256); p_error_message := get_error_string(result_code); StrLCopy(PChar(error_message), p_error_message, StrLen(p_error_message)); Self.memo_etat.Lines.Add(error_message); finally FreeMem(p_error_message); end; end;
Merci d'avance pour vos réponses et avis éclairés !
Partager