c#调用delphi的dll的时候,提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏,这是为什么?

已举报 回答 关注
c#调用delphi的dll的时候,提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏,这是为什么?
问在线客服
扫码问在线客服
  • 回答数

    6

  • 浏览数

    2,370

6个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
我前几刚碰到这个问题。具体原因说不清楚。你用的是vs么?我用的是vs2010. 最后我的解决方案是:检查是否装了 .net framework 4.5,装了就卸载,然后,再把.net framework 4.0重新装一遍。然后就好了。我也不理解,但是很神奇。.net framework 4.0注意和你系统匹配,32位还是64位
取消 评论
stdcall,你的dll中函数加入了么?
PASCL种参数是从左往右的,其他的都是从右往左的。
取消 评论
你看你打开文件的属性是只读的吗,是的话,改成读写试试。
取消 评论
应该是指向的内存地址已经释放或不存在,而你仍然去使用,才发生错误,
取消 评论
把Dll封装成com,ocx再调用
取消 评论
PChar转到C#中使用ref System.String数据类型就可以了!
取消 评论
ZOL问答 > 内存 > 其他 > c#调用delphi的dll的时候,提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏,这是为什么?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?