从unity3d调用delphi .dll的错误c#

cre*_*tor 1 c# delphi dll unity-game-engine

我试图从unity3d C#代码调用.dll(由delphi制作)函数时遇到以下错误.

这是照片,

在此输入图像描述

和错误说,

在此输入图像描述

和.dll代码是,

在此输入图像描述

那么为什么会出现错误以及如何解决?

非常感谢!

Dav*_*nan 6

你写的地方

error = GetRequestResult(code);
Run Code Online (Sandbox Code Playgroud)

你需要写

error = GetRequestResult(out code);
Run Code Online (Sandbox Code Playgroud)

这正是第二个错误消息所述的内容.


查看您的代码,以您PChar的方式从Delphi DLL 返回一个与您的P/invokes不兼容.P/invoke marshaller假设您的返回值已分配,CoTaskMemAlloc并将调用CoTaskMemFree您返回的指针.这将在某个地方导致一些问题.我认为你需要在某个时候解决这个问题,但由于这不是这个问题的主题,我不会试图在这里解决问题.