请问:错误提示‘Access Violation at address 00403B5E in Module 'menu.exe',read of address 42423EBE’
1、一般是由什么原因引起的?能否提示一下或者举些例子?
2、如果实在改不了,用什么方法可以使这个错误提示不显示出来?

解决方案 »

  1.   

    1、你使用了一个当前还没有创建的对象
    2、可以用TRY,FINALLY的异常处理来屏蔽这个错误,
    不过如果是这个错的话,
    是很致命的
    最好解决好
    而不只是屏蔽
      

  2.   

    是用的access数据库吗? 我以前用数据库时如果数据库不存在会报这种错
      

  3.   

    如一个程序有两个FORM,
    其中一个当然为MAINFORM
    另一个FORM2不由程序自动创建,
    如果你在MAINFORM中,没有使用FORM2:=TFORM2。CRAETE(SELF);
    就用下面语句:
    FORM2。SHOWMODAL;
    就会出现
    ‘Access Violation at address 00403B5E in Module 'menu.exe',read of address 42423EBE’
    的错误提示
      

  4.   

    procedure sndfax(sndstream:tmemorystream;);
      ...
    begin
       ...
       sndstream.position:=0;
       sndstream.write(cc,1);
       ...
    end;
    是否是sndstream没有建立我就使用?但很奇怪我没有建立它怎么让我用,而且不在执行sndstream.position:=0时出错,而是在执行完sndfax后不知道硼到哪里就出错了?
      

  5.   

    没有使用FORM2:=TFORM2。CRAETE(SELF);
    而进行FORM2。SHOWMODAL;
    当然会出错.
      

  6.   

    就是因为没有使用form2:=tform2.create(self)的原因,因为你没有创建form2就是用form2当然会报这样的错了。
      

  7.   

    FORM2.show就是调用Form2 的方法了.
      

  8.   

    那也是在form2.show的地方出错吧!
    我的都不知道在什么地方出错!
      

  9.   

    访问出错,出错的原因很多;
    你设置断点进行测试,或是用ShowMessage看一下那儿出错;还有一种可能就是引用出错。