讨论一下Access Violation (访问冲突)如何解决 |
尚未結案
|
youxiazhu
一般會員 發表:4 回覆:2 積分:1 註冊:2005-11-04 發送簡訊給我 |
bcb中的问题真的很多,还有些问题是在正常运行了一阵以后才出现,莫名其妙。Access Violation (访问冲突)应该是出现最多,最让人摸不着头脑的异常了(我认为 )。 今天写了一小段程序,是三层中的中间层。包括一个远程模块Remomd和一个界面Form1,在Form1中有一个读取:
Edit1->Text=Remomd->Name; 于是出错了(Access Violation at address 004CD87E in module 'MyTest.exe',Read of Address 00000008.) 我也知道是使用指针的错误,就是一些高手们所说的定义了指针但没有赋值就去使用。但我就是不明白,在窗体中添加VCL控件实例后,.h文件中也就只有一些指针定义,没看见有对这些指针赋值得操作,不也可以直接使用吗。比如我要是Edit1->Text=BitBtn1->Name就不会出错。 至于网上有人举例,说如果如下,肯定会出错:
TButton *btn;
btn->Left = 120;
我试了,并没有出错:
1 如果第1句由cb生成(向窗体中拖放按钮),自然没问题。
2 如果两句手工输入,看起来有问题(的确没有初始化btn这个按钮),但实际没有报错。 对于这个Access Violation我真得很迷惑,看了许多网友的回答也没有解决:
http://www.so3w.com/so44/how246843.htm
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |