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

时间:2012-07-31 15:02:04

标签: c# delphi dll unity3d

尝试从unity3d C#代码调用.dll(由delphi制作)函数时出现以下错误。

这是照片,

enter image description here

并且错误说,

enter image description here

和.dll代码是,

enter image description here

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

非常感谢!

1 个答案:

答案 0 :(得分:6)

你写的地方

error = GetRequestResult(code);

你需要写

error = GetRequestResult(out code);

这正是第二条错误消息的陈述。


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