NIM_Duilib_Framework
NIM_Duilib_Framework copied to clipboard
将界面封装进DLL中时,如果资源编译进DLL,则会加载失败
问题现象
SetIcon无法加载资源
预期结果
资源可以加载
重现步骤
新建工程-》调用SetIcon-》导出DLL-》加载DLL,显示界面-》无法加载图标
duilib 中存在多个在当前模块中查找资源句柄传NULL的情况,LoadResource FindResource LoadImage ,若为独立进程时没问题,当导出DLL时,如果传NULL,会从加载DLL的进程中查找,导致资源无法正确加载。
需要在BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) 中全局保留hModule
的确,你说的这是一个问题,你提出的修复建议是在配合动态库使用时出现的,除了保存全局 hModule 以外,duilib 的核心代码你是否有更好的修复建议,可以提交 PR 帮助我们来改进这一缺陷。
好的