听说是要DataSet没有正常关闭。
我也不是很清楚!
强烈要求大虾们详细地解释一下!!!

解决方案 »

  1.   

    可以认为是delphi的bug
      由于ide和你程序运行时同样使用数据库连接,对于数据库来说两者没有区别(有delphi对数据库的使用和你程序本身对数据库的使用),还有是可能的内存释放上的问题,因此产生这些错误。
      解决的办法是尽量不使用reset的方法,还是继续运行程序然后正常退出
      一点经验:也可以在此状态下修改原代码,然后run 会提示你是否重新编译,这样对内存的释放好象比较正常(也是bug)
      

  2.   

    To:weenyboy(小公子) 
    请你再详细解释一下怎样‘在此状态下修改原代码’,好吗?小弟在先谢谢你的回答。
      

  3.   

    弹出对话框的内容是:
    Project MainPro.exe raised exception class EDBEngineError with message 'Insufficient memory for this operation.
    Alias:exampro'.Process stopped.Use Step or Run to continue
    请广大高手指教。
      

  4.   

    这个问题我也遇到过,你是不是使用odbc连接数据库的,
    你的数据库每次打开,都会消耗许多缓存(类似于什么缓冲池之类).
    reset过后缓冲池资源没有得到正常释放,多次这样势必造成上面的问题,
    同时,weenyboy(小公子)的说法也是一方面.
    后来,我发现用ado组件来连接数据库,就不会出现上面的错误了.
      

  5.   

    举个例子,当你用dbgrid在设计状态显示一个table,然后运行它,修改该table并且保存,关闭返回ide,你会发现该dbgrid的 数据并没有别修改(没有刷新),表明在设计期间如果你open一些dataset ,将会使用过多的内存,而且由于delphi的bugs,某些程序运行的内存没有清除,将导致越来越严重而内存不足,当关闭delphi后,所有的内存被释放(ide的,设计期数据库的或程序漏洞的),除了产生内存碎片外基本恢复delphi启动以前的状态,所以重新启动又可以了.
      ‘在此状态下修改原代码’是指运行出错后,不要reset而直接更改(比如输入空格)然后运行,会提示你是否重新编译此时选是即可
      

  6.   

    我就是用odbc连接数据库的,原来这样会消耗内存的。
    但是用ado来做,好像也有类似的问题,不知为什么,
    我也听说过delphi本身有不少的bug,但若在编程过程中,不可避免地要碰到,那又怎么办啊。
    我也是将delphi打开又关闭,....这样真的很惨,还望高人指点指点。
    有没有升级补丁之类可以让delphi更好一些。我现在用delphi5原版,没有升过级。可以提供
    一些补丁吗。如果凑效的话。谢谢。
      

  7.   

    首先,我可以肯定你的机器不怎么样,其次,我可以告诉你,最好别用RESET,可以一直按F9,直到不能运行为止.