静态库资源问题

stonesky 2002-04-03 01:27:40
加精
做一个静态库,包含有对话框等
用Classwinzard生成一个类CMyDlg
但在调用CMyDlg::DoMoudle()时错误,不论在静态库内部还是外部对话框出不来。
将代码转移到可执行文件工程中是正常的。

该怎样做这个静态库,而在外部使用简单
...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonesky 2002-04-06
  • 打赏
  • 举报
回复
看来我只有另想办法了
peeaby 2002-04-03
  • 打赏
  • 举报
回复
胡说八道,静态库不能调对话框,不就是没有资源吗?在你EXE工程的资源中包含静态库所需要的资源不久得了。有这么多废话吗!
acptvc 2002-04-03
  • 打赏
  • 举报
回复
感谢您使用微软产品。

您不能在静态链接库中使用CDialog是因为CDialog需要模板资源,而静态链接库却不能访问资源。不过,您可以在内存中动态创建Dialog的模板来达到在静态链接库中创建对话框的要求。您可以参考MSDN中一个DLGTEMPL的例子,这个例子动态创建了Dialog的模板。您需要创建DLGTEMPLATE和DLGITEMTEMPLATE结构然后用InitModalIndirect去调用他们。

当然,如果你有一个动态链接库,您可以将您需要的资源通过动态链接库来装载到内存,然后再调用InitModalIndirect和DoModal。这样您就不需要处理DLGTEMPLATE和DLGITEMTEMPLATE这么多麻烦的事情了。您可以参考下面的这篇文章:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q231591

希望对您有所帮助,

-微软全球技术中心 VC开发支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。

为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
stonesky 2002-04-03
  • 打赏
  • 举报
回复
是几个软件的通用的一个模快,由于一些安全保密方面的问题,不可以做成DLL
我之所以这样做,是想简化接口,模块使用方便,如果能做成LIB,仅两个接口函数。
mfyproject 2002-04-03
  • 打赏
  • 举报
回复
在你写的lib中函数的前面加上 extern "C" 试试
Meathead 2002-04-03
  • 打赏
  • 举报
回复
那你做成DLL就可以.然后动态加载DLL.利用接口函数来调用就可以.如果做成
LIB的话,我没有用过.但做成DLL,可以发挥你的对模块接口的编程.试试看吧.

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧