|
代码
1 CString strMoudle;
2 m_ctlDeviceName.GetWindowTextW(strMoudle);
3 strMoudle = GetIniInfo(strMoudle); //根据strMoudle找到其对应的DLL名,就是读配置文件。次函数正常
//strMoudle 的长度7,得到的值长度17。
4 m_hdll = LoadLibraryW(strMoudle);
....
Debug一切正常
当Load时函数直接退出了,LoadLibrary后面的代码不执行了。
如果我把第二行和第三行注释掉,Load时直接写我要在的DLL名,
这样能加载就成功。或者我给strMoudle一个初值,且长度大于等于8,这样也能成功。
为什么会这样能,我另外一处装在DLL的地方刚运行可以成功装在,此处失败后他也失败
代码就是直接loadlibrary。另外m_hdll在调用LoadLibrary前已经初始化为空。
为什么会这样呢?帮我解释下吧。
|
|