Bonjour,
Je doit appeler une DLL Win32 depuis un programme Delphi Dot.net. J'utilise la méthode DllImport et ça marche très bien avec des types numériques, le souci apparaît quand je veux utiliser des chaines. Dans ma Dll Win32 j'ai:
Dans mon appli.net j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function PassageChaine(Chn: PChar):Boolean;stdcall; begin ShowMessage(StrPas(Chn)); end;
et au niveau de l'appel j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [DllImport('Calculer.dll', CharSet = CharSet.Auto, EntryPoint = 'PassageChaine')] Function PassageChaine(Chn:String):Boolean; external;
Lorsque j'exécute l'appli je vois bien le showmessage mais uniquement avec le premier caractère : a
Code : Sélectionner tout - Visualiser dans une fenêtre à part PassageChaine('abcde');
Le problème vient d'ou de la DLL ou du programme appelant ?
Merci d'avance
Partager