[警告] Unit1.pas(460): Variable 's11' might not have been initialized
"0x004047bc" 指令引用的"0x00a22268"内存.该内存不能为"read".
要终止程序,请单击"确定".
要调试程序,请单击"取消".
//=====================================================================
Exception EAccessViolation in module ABC.EXE at 000047BC.
Access violation at address 004047BC in module 'ABC.EXE'.read of address 00A22268

解决方案 »

  1.   

    如何能在未知的情况下处理这些非法的代码处理>>>>>>>>>>>>
      

  2.   

    访问已经释放的内存
    try
    exceptend
      

  3.   

    004047BC 这个地址不太好找,楼主装个异常插件试试,比如eurelog 
      

  4.   

    [警告] Unit1.pas(460): Variable 's11' might not have been initialized
      

  5.   

    可能是线程问题吧,线程关了吗?
    要不然是某些东西free早了。
      

  6.   

    进DEBUG跟踪下!不一定是S11这个变量的问题。
      

  7.   

    给你一个方法:
    Access violation是程序中最常见的一种错误,但是我们可以利用Access violation的提示信息,定位到源代码的具体位置,例如:Access violation at address 005B21FE in module Project1.exe'. Read of address 8080809C,其中005B21FE就是MAP地址,我们只要用这个公式:005B21FE-400000-1000=1B11FE,然后通过源代码生成的MAP文件找到最近的位置,就可以定位了。MAP文件的结构为:2997 0001:001B11F3 3000 0001:001B1207,它是和源代码对应的,前面是源代码行,后面是MAP地址,在DELPHI中生成MAP文件的选项是:Project->Options->Linker->Map file->选中Detailed