C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。

在C#中调用别人的DLL的时候有时候出现 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。

在传值的时候还是用指针,再在C#中做转换就好了。

解决办法:

[DllImport("APPLISTCC.dll")]
public static extern string TestFunc1(string param1);

string ret1 = TestFunc1("text");

改成:

[DllImport("APPLISTCC.dll")]
public static extern IntPtr TestFunc1(IntPtr par1);

IntPtr ptrIn = Marshal.StringToHGlobalAnsi("text");
IntPtr ptrRet = TestFunc1(ptrIn);
string retlust = Marshal.PtrToStringAnsi(ptrRet);

自己在程序里强制释放COM资源,调用Marshal.ReleaseComObject()方法将不再使用的对象释放掉

C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。,码迷,mamicode.com

时间: 2024-10-21 22:38:13

C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。的相关文章

SQL SERVER 2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 (System.Data)

标题: 连接到服务器------------------------------无法连接到 192.168.1.253.------------------------------其他信息:尝试读取或写入受保护的内存.这通常指示其他内存已损坏. (System.Data)------------------------------按钮:确定------------------------------管理员身份运行 cmd -> netsh winsock reset***************

C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

原文:C#尝试读取或写入受保护的内存.这通常指示其他内存已损坏. 今天打开一个之前写的程序,查询数据库资料,结果单击查询时出错,提示显示和ntdl.dll有关. 用VS2012调试时发现在调用数据集时提示"尝试读取或写入受保护的内存.这通常指示其他内存已损坏." 打开数据集选择预览数据时VS出错退出. 系统是Win7的,昨天更新过:切换到2003系统下则一切正常 经百度,找到解决办法: 用管理员身份运行CMD,输入netsh winsock reset并回车(注意,必须是已管理员身份运

项目问题 : 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

项目在Debug时,System.Data  , Connection 连接数据库时提示 : 尝试读取或写入受保护的内存.这通常指示其他内存已损坏 经查看 : 运行Window -> cmd  ->  netsh winsock reset  重置系统目录就可以了 .

ArcEngine尝试读取或写入受保护的内存

先说一下我的开发环境: Win10 + ArcGIS10.0 + ArcEngine10.0 + Framework4.0 今天调用新的GP工具则出现"尝试读取或写入受保护的内存.这通常指示其他内存已损坏"的异常(在此环境下,昨天,我还能够正常的调用GP).对于这一问题,有两大奇怪之处:一是环境未发生改变,昨天能够正常调用GP,今天调用任何GP都报错:二是昨天写的代码还是能够正常执行GP. 百度.谷歌了一天,除了检查代码本身的问题,还尝试了各个方面测试:license权限问题.COM对

C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏。错误类型为:System.AccessViolationException。

C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏.解决方案 报错 dll文件应该是C++写的.封装了之后供我的C#程序调用,结果就提示了错误:尝试读取或写入受保护的内存.这通常指示其他内存已损坏.错误类型为:System.AccessViolationException. 解决办法 在C#中调用别人的DLL的时候有时候出现 尝试读取或写入受保护的内存 .这通常指示其他内存已损坏. 在传值的时候还是用指针,再在C#中做转换就好了. [DllImport("APPLISTCC.dll&qu

SQL2012尝试读取或写入受保护的内存。这通常指示其他内存已损坏

SQL2012尝试读取或写入受保护的内存.这通常指示其他内存已损坏 今天打开SQL2012,突然就连接不了数据库,一开始还以为是某个服务器崩溃了,结果试了好几个,都还是如此,弹出提示如下: 尝试读取或写入受保护的内存.这通常只是其他内存已损坏.(System.Data) 重置 Winsock 目录之后网上也找了好多的答案,具体重置 Winsock 目录即可. 总结起来就是一句话: 管理员身份运行 cmd -> 输入 netsh winsock reset 如图所示:

"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"

? ? 管理员身份运行 cmd -> 输入 netsh winsock reset "尝试读取或写入受保护的内存.这通常指示其他内存已损坏.",布布扣,bubuko.com

尝试读取或写入受保护的内存

尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) Sql server2012连接Sql server2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误.(provider:SSLProvider,error:0-接收到的消息异常,或格式不正确.) 以前连接是正常的,突然数据库连不上. 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接,但在登陆过程中发生错误.(pro

SQL2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

今天打开SQL2012,突然就连接不了数据库,一开始还以为是某个服务器崩溃了,结果试了好几个,都还是如此,弹出提示如下: 尝试读取或写入受保护的内存.这通常只是其他内存已损坏.(System.Data) 重置 Winsock 目录之后网上也找了好多的答案,具体重置 Winsock 目录即可. 总结起来就是一句话: 管理员身份运行 cmd ->  输入 netsh winsock reset 如图所示: