2 u010967189 u010967189 于 2013.06.05 17:28 提问

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

查询过,有的说是内存的原因,也有说是.net的框架的问题
************** 异常文本 **************
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
在 System.Drawing.SafeNativeMethods.Gdip.GdipDrawLineI(HandleRef graphics, HandleRef pen, Int32 x1, Int32 y1, Int32 x2, Int32 y2)
在 System.Drawing.Graphics.DrawLine(Pen pen, Int32 x1, Int32 y1, Int32 x2, Int32 y2)
在 System.Windows.Forms.DataGridViewCell.PaintBorder(Graphics graphics, Rectangle clipBounds, Rectangle bounds, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle)
在 System.Windows.Forms.DataGridViewTextBoxCell.PaintPrivate(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, Object formattedValue, String errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts, Boolean computeContentBounds, Boolean computeErrorIconBounds, Boolean paint)
在 System.Windows.Forms.DataGridViewTextBoxCell.Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, Object value, Object formattedValue, String errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
在 System.Windows.Forms.DataGridViewCell.PaintWork(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, Int32 rowIndex, DataGridViewElementStates cellState, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
在 System.Windows.Forms.DataGridViewRow.PaintCells(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, Int32 rowIndex, DataGridViewElementStates rowState, Boolean isFirstDisplayedRow, Boolean isLastVisibleRow, DataGridViewPaintParts paintParts)
在 System.Windows.Forms.DataGridViewRow.Paint(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, Int32 rowIndex, DataGridViewElementStates rowState, Boolean isFirstDisplayedRow, Boolean isLastVisibleRow)
在 System.Windows.Forms.DataGridView.PaintRows(Graphics g, Rectangle boundingRect, Rectangle clipRect, Boolean singleHorizontalBorderAdded)
在 System.Windows.Forms.DataGridView.PaintGrid(Graphics g, Rectangle gridBounds, Rectangle clipRect, Boolean singleVerticalBorderAdded, Boolean singleHorizontalBorderAdded)
在 System.Windows.Forms.DataGridView.OnPaint(PaintEventArgs e)
在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
在 System.Windows.Forms.Control.WmPaint(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.DataGridView.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

3个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2015.01.15 21:48

http://bbs.csdn.net/topics/390396486
这个能否给你解决?

zhang1096646030
zhang1096646030   2015.05.13 17:08

图片说明
图片说明

求教!

acdyf
acdyf   2015.08.14 14:43

不要ref 不要直接传结构体
用intptr

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"
C#下利用ffmpeg频繁解码,导致 System.AccessViolationException ,且无法捕捉而使软件经常崩溃。 ffmpeg的原理无法了解,不过现有二法捕捉此异常: 法一:添加HandleProcessCorruptedStateExceptionsAttribute [HandleProcessCorruptedStateExceptions] void DoSo
关于“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”的解决
转载于:http://www.cnblogs.com/jerrmy/p/3485120.html 先来介绍一下出现这个错误的原因。看到园子中有人写了Web Api 2.0的博文,自己也想学习一下这个技术,于是就去了Microsoft官网看了一下关于web api的介绍,之后就有自己动手写个demo的冲动了,由于自己安装的是vs2012,需要升级到sp4,但是自己又不想升级到sp4,关键还是自
尝试读取或写入受保护的内存,这通常指示其他内存已损坏【解决方法】
今天本地运行项目,莫名其妙地报了个 尝试读取或写入受保护的内存,这通常指示其他内存已损坏! 于是在网上找了好久,终于找到了解决的方法,自己做个笔记,方便以后在遇到类似的问题,可以很方便地找到解决办法 以管理员的身份运行CMD   执行netsh winsock reset    然后提示你重新启动计算机   重启后错误就没有了
C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
今天打开一个之前写的程序,
C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。
在C#中调用别人的DLL的时候有时候出现 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。 在传值的时候还是用指针,再在C#中做转换就好了。 解决办法: [DllImport("APPLISTCC.dll")] public static extern string TestFunc1(string param1); string ret1 = TestFunc1("
fnthex32.dll :尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
16年时候项目中也要用的斑马打印机打印中文汉字的要求,想借鉴这个控件(Fnthex32.dll)来完成,无奈都失败啦,后来是用C# 写成类给vb6.0调用把文本写在txtbox中,再生产图片,然后系列化解决的这个问题。 最近用c# 重写这个斑马打印程序,就又想起这个控件,于是就决定重新研究一下,网上的基本都是9个参数(报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。)。无奈怎么都不成
程序出现异常"尝试读取或写入受保护的内存这通常指示其他内存已损坏"
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 此类错误屡见不鲜了,特别是图像开发,Com组件操作时,不要期望本文能够给你一个明确的答复,只能给你提供解决问题的思路:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏
尝试读取或写入受保护的内存。这通常指示其他内存已损坏 ?? 调试的时候报这个bug 。
SQL2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
SQL2012连接不上数据库
ASP.NET中System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 如题:遇到这个问题真的让人很着急!tiao'sh