Subject:
CnWizards 在 Win 10 RS4 Build 17035版本下启动出错,显示资源不足
[Print This Page]
Author:
yinsim
Time:
2017-11-11 23:25
Subject:
CnWizards 在 Win 10 RS4 Build 17035版本下启动出错,显示资源不足
测试环境:
CnWizards版本:CnWizards 1.1.3.915 Unstable
Windows 版本:Windows 10 RS4 预览版 Build 17035 x64
Delphi 版本: Delphi DX 10.2 update 1
问题描述:
CnWizards 在 Delphi 启动时报错,显示系统资源不足,并无法在IDE中注册。
原因分析:
CnDesignEditorUtils.pas 中的 procedure Initialize 过程会使用 LoadImage 函数来加载 Windows 系统中复选框的OEM图像资源。并在稍后进行一些运算来确定 CnWizards 一些界面中的勾选与未勾选图像的高度与宽度。
但是某些原因在此版本(17035)使用LoadImage获取后的OBM_CHECKBOXES的图像资源的高度与宽度均为1,而在之后的运算中Check与Unchecked的高度与宽度将变为负数。
临时解决方案:
由于暂时不能确定究竟是Windows RS4的 Bug 还是一项计算中的变更(?),所以暂时可以直接注释掉该 Initialize 过程在此单元中初始化段的引用。
发贴在此,供也有此问题的人参考。
Author:
Passion
Time:
2017-11-13 15:05
非常感谢详尽的调查,我也看一下是否能避免。
Author:
Passion
Time:
2017-11-14 16:31
目前我们在init部分也加了一层保护,没有加载到系统图片时,自己塞两个图片进去凑合着用了。
此保护机制将在下一个版本集成。
Author:
yinsim
Time:
2017-11-14 21:21
老刘反应好快,谢谢对应。
应该是Bug了,反馈中心已经有很多人反馈了这个问题,而且这个影响面很广,不少的程序,甚至很多Inno Setup制作的安装程序连项的复选框也没有办法显示。
Author:
Passion
Time:
2017-11-15 12:02
看来API不能全信。
Welcome to CnPack Forum (http://bbs.cnpack.org/)
Powered by Discuz! 5.0.0