这两天学习《Delphi技术方案宝典》一书中第三章关于用户登录方案的例子,利用的是SQl Server数据库实现用户登录,编译运行都没问题,该实现的功能也都实现的很好,但是奇怪的是,反复运行一段时间后,有时在关闭整个Delphi时,会出现下面的错误提示:
Access Violation at address 02F51C10.
Read of address 02F51C10.
而且这个对话框会不停出现,根本关不掉,只能重启电脑,重启前windows还会提示:当前有用户正连接到本机上,要不要继续重启。
这个错误不是每次都会有,时不时会出现,我试着对一些变量进行了释放等操作,但还是不行,请高手指点,谢谢。

解决方案 »

  1.   

    内存没有释放掉吧,请检查代码。
    可以打开任务管理器,delphi32的进程关掉就可以了,不用重启电脑。
      

  2.   

    那本书只能借鉴思想,其他的不能照搬照抄(本身有bug)!
      

  3.   

    delphi时不时就会冒这个泡的,进程中杀死就行了
      

  4.   

    1、问题原因是释放了不该释放的,或者没有释放该释放的,建议检查代码
    2、出现这种问题,在任务管理器中关闭掉问题进程(delphi.exe)即可,不需要重启系统
      

  5.   

    内存地址报错,可能是没有释放内存地址,在任务管理器中关闭掉问题进程(delphi.exe)即可,不需要重启系统。
      

  6.   


    何时使用变量,使用时是否有初值
    何时使用自定义结构或者ADO,使用是否释放
    何时调用动态库,何时释放
    异常时是否能够捕获
    程序是否有分支走到不释放的情况
    内存指针是否使用错乱等等
    合理的使用时最关键,否则查起来也很麻烦,建议平时养成良好习惯,一点一点将好的习惯积累,
    若干时间后,你会发现潜移默化你的代码质量就高很多