佚名通过本文主要向大家介绍了vc activex控件下载,vc activex控件,vc6.0 activex控件,vc activex,vc调用activex控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 极菜的一个问题,VC中如何调用COM组件(非ActiveX?
描述:
解决方案1:
描述:
1。用ATL编的COM组件,在VB里面的引用里可以找到
但在VC里 添加组件里只有Registered ActiveX Controls 这里面似乎都是存可视化的ActiveX吧? 那COM组件要在哪里引用?
2。顺便问一下 VB中引用COM 要给接口传递参数时是不是要经过类型转换?比如一个VB long型应该如何转换?谢谢
解决方案1:
最简单也是最常用的办法:
#import "your_com_dll_path" no_namespace
// 比如有一个对象 叫 MyObject, 它有 IMyObject接口:
CoInitialize(NULL); // 初始化COM
IMyObjectPtr obj;
if(FAILED(obj.CreateInstance(__uuidof(MyObject)))
{
MessageBox(hWnd, "创建对象失败","错误", MB_OK|MB_ICONSTOP);
return FALSE;
}
try
{
obj->SomeMethod(...);
obj->SomeProperty = ...;
}
catch(_com_error& ce)
{
// 出错处理
}