1

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

这里是图片,

在此处输入图像描述

错误说,

在此处输入图像描述

和 .dll 代码是,

在此处输入图像描述

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

非常感谢!

4

1 回答 1

6

你写的地方

error = GetRequestResult(code);

你需要写

error = GetRequestResult(out code);

这正是第二条错误消息所说的内容。


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

于 2012-07-31T15:08:41.367 回答