如何在vc(MFC)创建的dll中使用字符串资源?
我用vc的MFC写了个dll,还在其中使用了字符串资源,
可是当使用别的应用程序调用这个dll时,这个dll却不能正常显示字符串?
这是为何?
哪位大侠可否指点一下?
Crane Zhou
2002.03.29
问题点数:40、回复次数:5Top
1 楼expert_zh(屁屁)回复于 2002-03-29 12:40:10 得分 0
直接在资源中加入不就可以了么?Top
2 楼Semigod()回复于 2002-03-29 12:42:26 得分 20
如果你的DLL是直接连接到程序中的话,你要在你的程序中使用DLL中的字符串时应该是可以直接使用的。如果你是用LoadLibrary装入的话,你得用下面的方法:
str.LoadString(m_hLibrary, IDS_xxxx);
如果你是在DLL中使用的话,要分RegualarDLL还是ExtDLL了,如果是Ext的话,你要
HINSTANCE old = AfxGetResourceHandle();
AfxSetResourceHandle(hInst);
// load resource here
CString csTemp;
csTemp.LoadString(IDS_HELPFILE);
AfxSetResourceHandle(old) ;
如果是Regualar的话,我就记不大清了,你在MSDN上查一下Top
3 楼Semigod()回复于 2002-03-29 12:42:47 得分 0
如果你的DLL是直接连接到程序中的话,你要在你的程序中使用DLL中的字符串时应该是可以直接使用的。如果你是用LoadLibrary装入的话,你得用下面的方法:
str.LoadString(m_hLibrary, IDS_xxxx);
如果你是在DLL中使用的话,要分RegualarDLL还是ExtDLL了,如果是Ext的话,你要
HINSTANCE old = AfxGetResourceHandle();
AfxSetResourceHandle(hInst);
// load resource here
CString csTemp;
csTemp.LoadString(IDS_HELPFILE);
AfxSetResourceHandle(old) ;
如果是Regualar的话,我就记不大清了,你在MSDN上查一下Top
4 楼gu_gth(阿谷)回复于 2002-03-29 12:44:33 得分 20
当然不能了!
在别的工程里用的是人家的资源,
如果想用自己的,
在你用之前加
AFX_MANAGE_STATE(AfxGetStaticModuleState())用DLL自己的资源
就OK了!Top
5 楼gu_gth(阿谷)回复于 2002-03-29 12:45:54 得分 0
并且同意Semigod
其实是一样的!Top
6 楼finemood()回复于 2002-03-29 13:49:00 得分 0
谢谢各位,我给各位加分了,收到了吗?(Semigod和gu_gth)
Crane Zhou
2002.03.29
Top




