• 全部
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发
  • 问答

C++Build动态框架问题?

ljwwjh 2003-09-12 04:25:36
程序中用框架动态生成控件,框架内含有大量的控件和菜单有点类试于窗口;程序
使用中动态生成十个框架控件后,系统报内存出错!
但是程序不想限制用户使用框架个数,请问该怎么解决?
...全文
11 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ljwwjh 2003-09-18
up
回复
crii 2003-09-16
查询本机内存信息

大家知道,合理地分配使用内存,可以使计算机达到一个很高的运行效率;如何才能合
理地使用分配内存呢?只要做到随时了解当前内存的容量,才能为准确合理分配内存提
供可能。为此,笔者就在这里使用C++ Builder来帮助大家,准确获取计算机中的内存信
息,下面是程序的部分原代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MEMORYSTATUS MemInfo;
MemInfo.dwLength =sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&MemInfo); //GlobalMemoryStatus是获取内存的主要函数
IntToStr(MemInfo.dwMemoryLoad); //显示当前使用的内存
IntToStr(MemInfo.dwTotalPhys); //显示所有的物理内存
IntToStr(MemInfo.dwAvailPhys); //显示未使用的物理内存
IntToStr(MemInfo.dwTotalVirtual); //显示虚拟内存空间大小
IntToStr(MemInfo.dwAvailVirtual); //显示未使用的虚拟内存空间大小
}

--

※ 来源:·BBS 水木清华站 smth.org·
回复
GeoPhoenix 2003-09-14
必须这么多么?加点内存不就结了,内存便宜的很
回复
ljwwjh 2003-09-14
up
回复
sprewellkobe 2003-09-14
你把代码帖出来看看吧
回复
ljwwjh 2003-09-14
现在框架测试如下:
如果将框架放到一个Mdi子窗口中,在win98+128M内存下,建200个带有框架的Mdi窗口都没有问题,但是,如果在一个窗口中建立10个框架控件内存都耗费完,因为建一个控件需用8M内存;
而我的exe文件就是8M(有delphi报表,没有压缩exe);
但是程序要求在一个窗口中动态生成控件,并且动态至少1---30个(根据实际的情况);
请问各位,到底该如何解决问题,感谢!
回复
whsyr 2003-09-14
To ljwwjh:你的问题我也遇到过!
可能根动态生成框架的方式有关,框架如果在窗口上静态生成控件,内存占用就很小!
回复
supwjhuLoveCjj 2003-09-14
了解一下,我试试看
回复
ljwwjh 2003-09-12
是这样的,当有系统内存小时,允许生成的框架少可能到少于10个框架时就有问题,当内存是256M时的机器,框架有几十个都没有问题;
请问该如何各位该如何解决!
回复
wangk 2003-09-12
在用户申请新框架时,判断一下内存空间,不足则释放内存,或拒绝生成新框架.
我记得系统中的总句柄数目似乎有限制.这样的话,还是拒绝生成新框架比较妥当.
回复
ThinkX 2003-09-12
你不会用断点和堆栈来查看是哪里出了毛病了吗?
回复
StockViews 2003-09-12
问题不在于框架本身,而在于你的框架是怎么实现的。
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2003-09-12 04:25
社区公告
暂无公告