1

unity3d C# コードから .dll (delphi で作成) 関数を呼び出そうとすると、次のエラーが発生しました。

ここに写真があります、

ここに画像の説明を入力

そしてエラーは言う、

ここに画像の説明を入力

および .dll コードは、

ここに画像の説明を入力

では、なぜエラーが発生し、どのように解決するのでしょうか?

どうもありがとう!

4

1 に答える 1

6

書く場所

error = GetRequestResult(code);

あなたは書く必要があります

error = GetRequestResult(out code);

これは、まさに 2 番目のエラー メッセージが示す内容です。


コードを見ると、Delphi DLL から a を返すPChar方法は、P/invokes と互換性がありません。P/invoke マーシャラーは、戻り値が割り当てられていると想定しており、返されたポインターをCoTaskMemAlloc呼び出します。CoTaskMemFreeそれはどこかで何らかの問題を引き起こします。いつかその問題に取り組む必要があると思いますが、それはこの質問の主題ではないので、ここで問題を解決しようとはしません.

于 2012-07-31T15:08:41.367 に答える