是这样的:
1.建一个对话框,上面放256个CEdit控件.用 CEdit m_edt1... CEdit m_edt256来映射.
2.我想在这个对话框上"再"放一个CEdit控件(共257个CEdit控件),结果放不上,于是,用"文本方式"打开这个项目的 .rc文件,手动加入下面文字:
EDITTEXT IDC_EDIT256,335,994,162,12,ES_RIGHT | ES_AUTOHSCROL | ES_READONLY
3.在 Resource.h 中手动加入:
#define IDC_EDIT257 2000
这样,在VC中就可以看到257个CEdit控件在这个窗体上了。
4.在本窗口的 DoDataExchange 函数中手动加入:
DDX_Control(pDX, IDC_EDIT257 , m_edt257);
结果该程序在W2k下能正常运行,可在W98下执行到 DoDataExchange 函数的第一个数据交换就出错.
那位高手遇到过这样的问题?如能解决,100分相报!!
不太清楚。只不过不知道这样坐有何实际意义?
须知,虚拟函数表的个数也没有超过256,如果虚拟函数超过256,就会出现问题。但是,如果虚拟函数超过了256,估计设计有问题。如果为了满足大家对虚拟函数表的个数需求,设为512,那么大部分类不是背了很大的空间包袱?
我觉得可能是UNICODE的问题,
动态生成控件,我就是用这种方式解决了问题的。
九八内存管理问题
肯定是内存问题。在2000下如果有一些小的内存问题,系统都会帮呢搞定,但是在98下就不行了。
focus