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

发布于2022-01-11 18:11:37
6个回答
admin
网友回答2022-01-11
我前几刚碰到这个问题。具体原因说不清楚。你用的是vs么?我用的是vs2010. 最后我的解决方案是:检查是否装了 .net framework 4.5,装了就卸载,然后,再把.net framework 4.0重新装一遍。然后就好了。我也不理解,但是很神奇。.net framework 4.0注意和你系统匹配,32位还是64位
admin
网友回答2022-01-11
PChar转到C#中使用ref System.String数据类型就可以了!
admin
网友回答2022-01-11
把Dll封装成com,ocx再调用
admin
网友回答2022-01-11
应该是指向的内存地址已经释放或不存在,而你仍然去使用,才发生错误,
admin
网友回答2022-01-11
你看你打开文件的属性是只读的吗,是的话,改成读写试试。
admin
网友回答2022-01-11
stdcall,你的dll中函数加入了么?
PASCL种参数是从左往右的,其他的都是从右往左的。

回到
顶部