j'ai une dll Delphi 7 qui exporte la fonction suivante:dll C# PInvoke Delphi qui retourne une chaîne échoue dans IIS ne
function StringTest(var StringOut : pchar) : boolean; stdcall;
begin
GetMem(StringOut, 100);
StrPCopy(StringOut, 'Test output string.');
result := true;
end;
Cette fonction est importée en C# comme suit:
[DllImport(@"C:\\Test\\DelphiTest.dll")]
public static extern bool StringTest(out string stringOut);
Lorsque j'appelle l'importation à partir d'une application WPF, cela fonctionne très bien et je vois ma chaîne de test retournée dans le paramètre out. Quand je tente la même chose à partir d'un site hébergé à Cassini, ça marche bien aussi. Toutefois, lorsque j'exécute cette méthode à partir d'un site hébergé dans IIS7, il échoue. Si je commente les lignes GetMem et StrPCopy, la fonction renvoie "true" dans IIS. Comment puis-je récupérer des données chaîne en C# à partir de Delphi dans un site hébergé dans IIS?
Vous devriez vraiment être plus précis sur la nature de l'erreur. Dire simplement "ça échoue" ne dit rien à personne. –