当日落遇上日出 2021-04-01 11:29 采纳率: 0%
浏览 30

C# 向非托管DLL(delphi 7)传参

delphi dll函数原型:

function Check_SYMES(sStr: Pchar): PChar; export; stdcall;

 

C# 调用:

[DllImport("PreCheckMES", EntryPoint = "Check_SYMES", CallingConvention = CallingConvention.StdCall)]
private static extern IntPtr Check_SYMES(IntPtr str);

报错:System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”

尝试解决:将IntPtr更换为string、StringBuilder类型均会报上述错误。

求网友解答,非常感谢!!!

 

  • 写回答

1条回答 默认 最新

  • 当日落遇上日出 2021-04-01 11:37
    关注

    试过,还是报同样的错误。谢谢解答!

    评论

报告相同问题?