跪求大神解答困扰我好久的EAccessViolation问题

zhengxiexiangyi 2015-09-08 10:35:38
程序一运行就会出现 Project MainForm.exe raised exception class EAccessViolation with message 'Access violation at address 40029F16. Read of address 00000008'.Process stopped.Use Step or Run to continue.的错误提示。我看了帮助文件,说如果提示窗口下角出现 View CPU Window 就说明异常位置不对应源,什么意思,怎么解决这个问题?求大神出手相救
...全文
1241 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2015-09-12
  • 打赏
  • 举报
回复
引用 10 楼 kfrght 的回复:
[quote=引用 9 楼 u010165006 的回复:] [quote=引用 8 楼 kfrght 的回复:] [quote=引用 7 楼 u010165006 的回复:] 我也碰到过这个问题,我的情况是,一个自定义的类的对象,在对象的构造函数里访问了Form1里的控件,出现这个异常,我猜原因是对象构造的时候,Form1里的控件还没初始化,出现AccessViolation,不知对否? 把对象改成对象指针,在Form1的OnCreate事件里new该对象,OnDestroy里delete对象,问题解决。
对头,完善到我的解决方案大全里[/quote] 解决方案大全 资料可否邮购?[/quote] [/quote] 应该写本书,不能家传啊
宝龙哥 2015-09-11
  • 打赏
  • 举报
回复
引用 9 楼 u010165006 的回复:
[quote=引用 8 楼 kfrght 的回复:] [quote=引用 7 楼 u010165006 的回复:] 我也碰到过这个问题,我的情况是,一个自定义的类的对象,在对象的构造函数里访问了Form1里的控件,出现这个异常,我猜原因是对象构造的时候,Form1里的控件还没初始化,出现AccessViolation,不知对否? 把对象改成对象指针,在Form1的OnCreate事件里new该对象,OnDestroy里delete对象,问题解决。
对头,完善到我的解决方案大全里[/quote] 解决方案大全 资料可否邮购?[/quote]
宝龙哥 2015-09-11
  • 打赏
  • 举报
回复
引用 7 楼 u010165006 的回复:
我也碰到过这个问题,我的情况是,一个自定义的类的对象,在对象的构造函数里访问了Form1里的控件,出现这个异常,我猜原因是对象构造的时候,Form1里的控件还没初始化,出现AccessViolation,不知对否? 把对象改成对象指针,在Form1的OnCreate事件里new该对象,OnDestroy里delete对象,问题解决。
对头,完善到我的解决方案大全里
ooolinux 2015-09-11
  • 打赏
  • 举报
回复
引用 8 楼 kfrght 的回复:
[quote=引用 7 楼 u010165006 的回复:] 我也碰到过这个问题,我的情况是,一个自定义的类的对象,在对象的构造函数里访问了Form1里的控件,出现这个异常,我猜原因是对象构造的时候,Form1里的控件还没初始化,出现AccessViolation,不知对否? 把对象改成对象指针,在Form1的OnCreate事件里new该对象,OnDestroy里delete对象,问题解决。
对头,完善到我的解决方案大全里[/quote] 解决方案大全 资料可否邮购?
ooolinux 2015-09-10
  • 打赏
  • 举报
回复
我也碰到过这个问题,我的情况是,一个自定义的类的对象,在对象的构造函数里访问了Form1里的控件,出现这个异常,我猜原因是对象构造的时候,Form1里的控件还没初始化,出现AccessViolation,不知对否? 把对象改成对象指针,在Form1的OnCreate事件里new该对象,OnDestroy里delete对象,问题解决。
宝龙哥 2015-09-10
  • 打赏
  • 举报
回复
楼主估计是某人的小号,这分估计没别人的份
Tony-Tao 2015-09-10
  • 打赏
  • 举报
回复
如果是一运行就报错的话,很有可能是GUI引起的,可以检查Form显示正不正常。 如果有做多语言,删除工程目录中的.cht 、.chs、.enu文件再试下。
宝龙哥 2015-09-09
  • 打赏
  • 举报
回复
访问了无效(一般是未申请)的内存或指针 1、检查有没有需要NEW的内存或指针没有NEW或指向某个对象,就直接使用或访问 2、检查是否使用了类似ODBC这样的外部OLE 3、project->Clean project1,然后编译测试 4、终极方法,关闭全部IDE,到工程目录里删除所有临时文件,先开一个IDE,什么也不敢直接最小化,再重新开一个IDE,通过其菜单打开工程编译,如果解决了问题说明是CB的BUG造成的 你的一般是1和4,如果都不能解决的话,就发点代码上来看看
缘中人 2015-09-09
  • 打赏
  • 举报
回复
没源码无法分析原因
zhengxiexiangyi 2015-09-09
  • 打赏
  • 举报
回复
妖哥啊,我无论是直接运行,还是点step over都是直接弹出EAccessViolation提示的对话框,根本就不能跑起来,什么原因啊?
ccrun.com 2015-09-08
  • 打赏
  • 举报
回复
看这个错误,应该是访问了未经初始化的对象,如果你手头有源代码,单步调试一下,看看跑到哪一行代码出错。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧