unity3d C# コードから .dll (delphi で作成) 関数を呼び出そうとすると、次のエラーが発生しました。
ここに写真があります、
そしてエラーは言う、
および .dll コードは、
では、なぜエラーが発生し、どのように解決するのでしょうか?
どうもありがとう!
書く場所
error = GetRequestResult(code);
あなたは書く必要があります
error = GetRequestResult(out code);
これは、まさに 2 番目のエラー メッセージが示す内容です。
コードを見ると、Delphi DLL から a を返すPChar
方法は、P/invokes と互換性がありません。P/invoke マーシャラーは、戻り値が割り当てられていると想定しており、返されたポインターをCoTaskMemAlloc
呼び出します。CoTaskMemFree
それはどこかで何らかの問題を引き起こします。いつかその問題に取り組む必要があると思いますが、それはこの質問の主題ではないので、ここで問題を解決しようとはしません.