当前位置:主页>仓库管理软件> 列表

为什么有的程序不能运行于win98?提示内存不足(即使你的 找金蝶财务软件

仓库管理软件版1楼: win98内部只分配了64K的空间用于存放handle,由于我们的程序大量的使用了.DFM文件,而每个DFM文件是有自己的Handle的(每个DFM也包含了太多的控件,大多数控件也有自己的Handle),这也就导致了win98分配的64K空间不够用。因此报告内存不足(其实是可用Handle存入空间不足,而并非真的是内存不足)。
引申:delphi程序在启动时,会把所有的资源装载到内存当中(.dfm其实就是资源文件)。而不管你是否已经引用。也就是说,程序中所有会被引用的form在程序启动时就已经被装载到内存当中,占用了大量的Handle?/span>

请问怎么解决??????????????帮我解决了,我付人民币,价格好谈!!!!

2楼: 可以把所有form都从项目中移去,并把它们所在的路径放到DELPHI的搜索路径中,这样项目打开的时候就不会打开所有的FORM了,更正一点.DFM是资源文件,但他没有句柄,只不过是DELPHI使用它建立窗体而已,但设计期建立的窗体也是有句柄的。所以会导致你的程序出问题。 如金蝶财务软件

3楼: 哦,补充一点,主窗体不能移去。

4楼: 刚才在DELPHI7下试验了一下,不是很明显,不过可以一试

5楼: appfirst:


谢谢你的回复,但是我在创建时只创建了主窗体,其他的窗体都是动态创建。为什么还不行!!

6楼: 有内存泄漏!

仓库管理软件版7楼: 如果使用了第三方控件,可能是组件引起的问题,如果还不行,可以新建一个项目,然后一批一批地加窗体,直到出现错误。排除法:)

8楼: 多人接受答案了。