尝试从 unity3d C# 代码调用 .dll(由 delphi 制成)函数时出现以下错误。
这里是图片,
错误说,
和 .dll 代码是,
那么为什么会出现错误以及如何解决呢?
非常感谢!
你写的地方
error = GetRequestResult(code);
你需要写
error = GetRequestResult(out code);
这正是第二条错误消息所说的内容。
查看您的代码,以您PChar
的方式从 Delphi DLL 返回一个与您的 P/invokes 不兼容。P/invoke marshaller 假设您的返回值已分配,CoTaskMemAlloc
并将调用CoTaskMemFree
您返回的指针。这将导致一些问题。我认为你需要在某个时候解决这个问题,但由于它不是这个问题的主题,我不会尝试在这里解决这个问题。