在Delphi7.0中,一个Project中的Form数有限制吗?
我在 Windows2000 Professional 中开发的软件,拿到 Windows98 中则不能再用,提示内存不足,无法使用,但是内存是足够大的,有 512 M,倒是 Win2000 P 中开发时内存只有256M,去掉一些Form后倒是可用了,但是真的在 Windows98 中有 Form 数量的限制吗?

解决方案 »

  1.   

    不是很清楚
    只知道在一個Delphi版本下開發的再拿到另外一個Delphi版本下面運行總是喜歡出現問題
      

  2.   

    Windows98 中有有窗口句柄数量的限制,具体数字是多少忘了(抱歉,回头查查书才知),肯定少于win2000。Form以及Form里的可视控件大部分均占用窗口句柄数。
      

  3.   

    VeryOldMan(老者)说的应该是正确的吧。可能是电脑系统的句柄问题。
      

  4.   

    Forms一般是受内存限制的,但也不排除在Windows 2000里系统可能使用了较多的虚拟内存,一般来说一个程序的Forms不能超过40个以上,否则就会提示内存不够,其实你不可能一下子打开所有的窗口,也不需要所有的窗口同时占用内存,可以打开程序时只创建需要用的窗体,需要其它的窗体时再动态创建,使用完再Free掉,然后程序退出时全部Free。frmMain:=TfrmMain.Create;用完frmMain.Free;
      

  5.   

    是不是一运行程序就打开所有窗口了?
    Project-option去掉不是一开始就要打开的窗口
      

  6.   

    我在程序启动时只创建了两个窗体,其余的窗体都是动态创建的,用完后释放了,不过窗体确实比较多(有300多个),现在在 Windows98 下运行程序时就提示内存不足,无法运行程序的错误了。
      

  7.   

    在运行过程中动态创建窗体,及时释放他们的资源。
    不要在application一开始就把所有的窗体创建,这样程序运行速度慢。