form报错

wqzq2020 2008-04-25 05:37:03
一个主form,通过主form调用form1和form2,form1和form2都是通过工程创建的
现在出现这个问题:
调用form2后在调用form1就报错
调用完form1在调form1就不报错
报错内容:project mhsa.exe raised exception class EaccessViolation with message access violation
at address 201583a6 in module 'vcl100.bpl'. Read of address 0000035B
...全文
200 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
erdgzw 2008-04-29
  • 打赏
  • 举报
回复
说了半天也不知道你是怎么解决的。
wqzq2020 2008-04-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wqzq2020 的回复:]
啊啊啊啊啊!!!!!!!
我终于找到我的那个错误了!!!!!!!!
一天的时间,可以接收!!!!!!
原来程序中有个Tstringlist结构的变量List,我一开始就载入了文件,文件共有55行
每次我都List->Strings[i],程序结束后我就将i=56,结果就报错,但我也挺奇怪的,最后i=56的时候并没有调用List->Strings[i],怎么还会这样呢?
虽然问题解决了,但还是不明白为什么,望高人赐教!!!
[/Quote]
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
main_Form->Hide();
Form1->Show();

main_Form->Hide();
Form2->Show();
这就是调用两个form的语句啊
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ydlchina 的回复:]
打开Options ¦Forms看左栏,看Form1和2在左右栏的位置来确定调用方法是否正确
[/Quote]

在forms栏只能设置显示窗体的顺序
gdhuman 2008-04-28
  • 打赏
  • 举报
回复
如果窗体是动态创建的
Close的时候执行
Form1=NULL;
Action=caFree;
如果窗体不是动态创建的
不要使用delete
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
啊啊啊啊啊!!!!!!!
我终于找到我的那个错误了!!!!!!!!
一天的时间,可以接收!!!!!!
原来程序中有个Tstringlist结构的变量List,我一开始就载入了文件,文件共有55行
每次我都List->Strings[i],程序结束后我就将i=56,结果就报错,但我也挺奇怪的,最后i=56的时候并没有调用List->Strings[i],怎么还会这样呢?
虽然问题解决了,但还是不明白为什么,望高人赐教!!!
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
一个主类和两个继承的类可以写在同一个.h文件和同一个.cpp文件中吗?
这样写调用的时候会冲突吗?-
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
发现第二次调用form1时,地址指针变了,然后报错。怎么回事
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
是2007的bug吗?
feir8510 2008-04-26
  • 打赏
  • 举报
回复
应该不会有问题啊,难道是创建代码问题?把调用代码贴出来吧,感觉就是三句话就行啊。
ydlchina 2008-04-26
  • 打赏
  • 举报
回复
打开Options|Forms看左栏,看Form1和2在左右栏的位置来确定调用方法是否正确
wqzq2020 2008-04-26
  • 打赏
  • 举报
回复
代码在单位呢,后天贴吧,这两天要在家看孩子
昨天想了一个晚上,在FORM1的SHOW()函数中有这个语句:
cl1 *cl1 = new cl1();
关闭FORM1时有:
delete cl1;

在FORM2的SHOW()函数中有这个语句:
cl2 *cl2 = new cl2();
关闭FORM2时有:
delete cl2;


cl1和cl2都是通过cc基类继承过来的,而且这三个类在同一个.h文件和.cpp文件中

那这样以来是不是cl1和cl2的指针指的是同一个地址块啊?

wqzq2020 2008-04-25
  • 打赏
  • 举报
回复
那为什么会报这样的错误啊?找不到是那儿的错
郁闷
rainfall19831109 2008-04-25
  • 打赏
  • 举报
回复
To楼主:
这是OO的概念啊。。。cl1和cl2的实例都是互相独立不会有影响的。。。
即使里面的某变量是继承下来也是这样。。。
这变量内容不同,内存地址也不同。。
wqzq2020 2008-04-25
  • 打赏
  • 举报
回复
如果基类中含有STringList结构List,那么通过继承,创建两个子类,cl1和cl2,cl1和cl2中不含有StringList结构,那么如果new cl1之后再new cl2,则在cl1和cl2中的List是不是指的同一个地址啊?或者说他们是同一个变量啊?还是分开的两个?
wwp3321 2008-04-25
  • 打赏
  • 举报
回复
应该是楼主程序代码的问题,把代码贴出来看看先
wqzq2020 2008-04-25
  • 打赏
  • 举报
回复
一个主form,通过主form调用form1和form2,form1和form2都是通过工程创建的
现在出现这个问题:
调用form2后再调用form1就报错;而调用完form1再调form1就不报错
报错内容:project mhsa.exe raised exception class EaccessViolation with message access violation
at address 201583a6 in module 'vcl100.bpl'. Read of address 0000035B

13,822

社区成员

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

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