首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

大家帮忙看一下这个调用窗体的异常

2012-04-02 
大家帮忙看一下这个调用窗体的错误我要在一个窗体的Image中中循环显示几张图片,第一次调用没有问题,可是再

大家帮忙看一下这个调用窗体的错误
我要在一个窗体的Image中中循环显示几张图片,第一次调用没有问题,可是再次调用就会报错,错误信息为:Project   *.exe   raised   exception   class   EAccessViolation   with   message   'Access   vioation   at   adress   00000000.Read   of   adress   00000000 '.Process   stopped.
以下是我的代码:
新建一个窗体:
  TForm*   show_intro_form=new   Tshow_intro_form(this);
  show_intro_form-> ShowModal();

窗体显示时的代码:
    start_show_list-> LoadFromFile( "start_show\\start_show.txt ");
    start_show_count=start_show_list-> Count;
    if(change_pic-> Enabled==0)
          change_pic-> Enabled=1;

计时器代码:
  if(run_time==start_show_count)   run_time=0;
  String   file_name= " ";
  file_name=start_show_list-> Strings[run_time];
  Image1-> Picture-> LoadFromFile(file_name);
  run_time++;


[解决办法]
原因不太明显,如果能用F7单步跟踪到是哪句代码的话,就好分析多了。

建议看看这两点:
1、你的show_intro_form是不是属于自选创建的TForm,如果是,则把这个show_intro_form从自动创建Form中去掉。(在哪里去,不用说了吧,就在Project的Options中)

2、修改一下创建窗口的代码:
> > TForm* show_intro_form=new Tshow_intro_form(this);
> > show_intro_form-> ShowModal();
改为

TForm* frmShowIntro=new Tshow_intro_form(NULL);//修改一下Form的变量名
try
{
frmShowIntro-> ShowModal();
}
_finally
{
delete frmShowIntro;
}

3.注意正确初始化 run_time 这个计数嚣的值
[解决办法]
你按照我的说法改正你的程序了么?错误的提示还是和原来一样么?你在显示完一次窗体以后,调用delete删除你的窗体了么?
[解决办法]
最好贴完整的代码来看看!
[解决办法]
请提供完整的代码!

热点排行