我是COM库的新手,我坚持在我的C ++ Builder(XE2)应用程序中使用COM DLL。 DLL已注册。哪些步骤允许我创建属于这种DLL的对象并调用它们的方法?我的意思是静态的。
我找不到教程,而我看到了不同的方式:
使用绝对路径导入DLL(为什么?它在系统中注册)
#import "C:\Path\to\the\LIB1.dll" rename_namespace ("LIB1")
......然后是什么?
CoCreateInstance
......究竟是怎么回事?没有import / include? li>
醇>
在Visual C#中,我只需添加引用和using
!
我很困惑!任何帮助表示赞赏。
答案 0 :(得分:1)
我找到了一种方法(但是告诉我是否有更好的方法):
编写此代码以使用COM DLL:
CoInitialize(NULL); //Init COM library DLLs
ICompany *company;
HRESULT hr = CoCreateInstance ( CLSID_Company,
NULL,
CLSCTX_INPROC_SERVER,
IID_ICompany,
(void**) &company );
if (SUCCEEDED (hr)) {
//TODO here you can use your company object!
//and finally release such resource
company->Release();
}
CoUninitialize();
Company
是原始类,由DLL公开,我想要实例化。
Introduction to COM - What It Is and How to Use It.给了我很多帮助。
注意这需要创建* _TLB。*和* _OCX。* units 。有没有办法避免它?