关闭窗体时报错:未处理AccessViolationException-尝试读取或写入受保护的内存。这通常指示其他内存已损坏。解决方法
关闭窗体时报错:未处理AccessViolationException--尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
登录窗体::FormLogin 主窗体:FormMDI 功能窗体:FormCard
1、单独调试FormLogin、FormMDI、FormCard一切正常。
2、启动加载FormMDI,调用FormCard一切正常。
3、启动加载FormLogin,验证后隐藏窗体调用FormMDI ,再执行FormCard,FormCard.textbox输入英文没问题,切换中文输入法后,可以继续操作,但在关闭窗体时执行FormCard的功能按钮中的this.close()或使用窗体关闭按钮报错!
4、启动加载FormMDI ,在FormMDI .Load()中调用FormLogin,验证后关闭窗体,再执行FormCard同样报错!
错误信息:
标题:未处理AccessViolationException
内容:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing); //该行为提示出错的位置!
}
------解决方案--------------------
是不是有什么东西重复dispose了。
这个异常我只在旧版本的.net上见到过, 比如3.5的原版。
------解决方案--------------------
在所有的方法中加上try catch
前段事件遇到过,就是用try catch捕获到的
------解决方案--------------------
加上try catch 看具体哪一行出错在排查
登录窗体::FormLogin 主窗体:FormMDI 功能窗体:FormCard
1、单独调试FormLogin、FormMDI、FormCard一切正常。
2、启动加载FormMDI,调用FormCard一切正常。
3、启动加载FormLogin,验证后隐藏窗体调用FormMDI ,再执行FormCard,FormCard.textbox输入英文没问题,切换中文输入法后,可以继续操作,但在关闭窗体时执行FormCard的功能按钮中的this.close()或使用窗体关闭按钮报错!
4、启动加载FormMDI ,在FormMDI .Load()中调用FormLogin,验证后关闭窗体,再执行FormCard同样报错!
错误信息:
标题:未处理AccessViolationException
内容:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing); //该行为提示出错的位置!
}
------解决方案--------------------
是不是有什么东西重复dispose了。
这个异常我只在旧版本的.net上见到过, 比如3.5的原版。
------解决方案--------------------
在所有的方法中加上try catch
前段事件遇到过,就是用try catch捕获到的
------解决方案--------------------
加上try catch 看具体哪一行出错在排查