[警告] 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
"0x004047bc" 指令引用的"0x00a22268"内存.该内存不能为"read".
要终止程序,请单击"确定".
要调试程序,请单击"取消".
//=====================================================================
Exception EAccessViolation in module ABC.EXE at 000047BC.
Access violation at address 004047BC in module 'ABC.EXE'.read of address 00A22268
try
exceptend
要不然是某些东西free早了。
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