我生成了“Regular DLL Dynamically Linked to MFC”型的DLL。用LoadLibrary()启动DLL。问题出现了:发现这个DLL必须与调用者(进程)处于相同路径下。如果放到别处,即使给LoadLibrary()输入全路径,也不能启动DLL。而如果用向导创建“Win32 DLL”型的DLL就可以想放哪放哪。问题明确:如何实现“Regular DLL Dynamically Linked to MFC”型的DLL想放哪放哪?
调试欢乐多
但是那篇英文资料并没有解决我的问题.
或许是我没有吃透那文章的意思?能不能再帮我讲解一下我的问题.masterz(MS MVP) ,Thank you any way,会给你节分的:)
那个问题是“在Regular DLL里用DoModal出示对话框时,出现Assert警告”的问题。根据你的线索里提到的微软技术文章《Q194300》解决了:)
可执行文件 A.exe 在 C:\abc\ 下面,它要调用 B.dll,而 B.dll 在 C:\abc\def\ 下面。
如果使用 LoadLibrary("C:\abc\def\B.dll"); ,是无法启动Dll的,这个API返回NULL句柄。
但是如果创建的是“Win32 Dll”就不会有上述问题。好郁闷啊!