佚名通过本文主要向大家介绍了atlcom.h,易语言调用外部dll,c#调用外部dll,vba调用外部dll,qt调用外部dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: atl com 里如何调用外部Dll
描述:
解决方案1:
描述:
编写了一个功能比较简单的COM,但是单步调试时发现::LoadLibrary("xxx.dll");时返回的句柄值始终是0。为什么找不到这个Dll。创建普通的MFC应用程序做测试,调用是没问题的,可是在COM工程下就无法找到该dll。
解决方案1:
组件程序的运行与普通的DLL程序运行不一样,它需要依赖一个单独的运行环境,因此,要求单独对运行环境初始化,就是用到了CoInitialize(NULL),NULL表示使用系统默认的内存管理器。只有在初始化了COM环境,才能够对组件对象进行调用,并在退出时释放COM环境(CoUninitialize())。你这张试试看,是不是可以解决你的问题?
解决方案2: 如果指定的不是全路径名,则按下面的顺序搜索:
The directory from which the application loaded.
The current directory.
The system directory.
The Windows directory.
The directories that are listed in the PATH environment variable.
你把DLL放哪儿了?
加一个CoInitialize()试试看。