Bonjour a tous...

Voila j'ai une DLLwin32 qui me renvoie une string (écrite en pascal) et j'ai un programme c# (je suis sous delphi2006) qui doit me récupérer cette string comme montré ci-dessous;

la DLL:
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
 
 
 
uses
  SysUtils,
  Classes,
  ShareMem;
 
{$R *.res}
 
function Phrase(): string;stdcall;
begin
   Phrase := 'la phrase a envoyer';
end;
 
 
exports Phrase;
le source C#:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
     //import de la fonction de DLL
     [DllImport("c:\\envoieString.dll")]
     private static extern string Phrase();
 
     string maPhrase = Phrase();  //récupèration de ma phrase
Mais le probleme est que quand j'exécute le source C# j'ai une erreur d'exécution à la ligne "string maPhrase = Phrase(); "...j'ai l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
La référence d'objet n'est pas définie à une instance d'un objet
J'ai ce problème que pour le type string et je ne comprend pas...

Quelqu'un peut il m'expliquer ce qui se passe et m'expliquer ce que je dois faire?

Merci d'avance pour l'aide