私はこの問題について多くのことを検索しましたが、デルファイ dll から .NET に文字列を渡す方法について明確な答えはありません。次のコードは msdn ヘルプ ファイルに基づいています: http://msdn.microsoft.com/en-us/ライブラリ/4zey12w5.aspx
//Delphi code
function myDelphiFunc(var Buffer: PChar): Integer; export; stdcall;
Buffer:='this is a test';
Return:=0;
end;
//vb.NET code
<DllImport(path)> _
Public Function myDelphiFunc(ByVal buffer As String) As Integer
Public Sub myNETFunc()
Dim buffer_size As integer = 25
Dim buffer As String = New String(CChar(" "), buffer_size )
Call myDelphiFunc(buffer)
MsgBox(Strings.Left(buffer, InStr(buffer, Chr(0)) - 1))
End Sub
myDelphiFunc を呼び出すと、「buffer」変数に空の文字列が返されます。私は何を間違っていますか?
前もって感謝します