VC下COM控件使用方法

编程入门 行业动态 更新时间:2024-10-10 06:17:42

VC下COM<a href=https://www.elefans.com/category/jswz/34/1769529.html style=控件使用方法"/>

VC下COM控件使用方法

1.activeX控件采用组建对象模型(COM),即标题所说COM控件。

2.文中主要介绍两种类型:第一是以.ocx结尾的,第二是以.dll结尾的。

3.注册.ocx的方法之一:

Regserv32 c:\myctl.ocx

或者Regserv32 /s c:\myctl.ocx

4.VC2008下加载.ocx控件

工程资源——Toolbox最下方空白处(右键)——选择choose Items...——弹出Choose ToolBox Items——COM Components中选择已注册的控件

在Toolbox中生成一新图标,拖动图标至实例对话框中如下图

然后创建控件变量,创建后则会生产控件的.h,.cpp文件。

可根据.h中的接口函数使用控件。

 

5.对于.dll的COM控件注册

1)在开始菜单中点击运行进入命令行,输入dcomcnfg

2)组件服务——计算机——我的电脑——COM+应用程序——COM+ Dead Letter Queue Listener——组件(点击)

3)进入后,菜单——操作——新建——弹出对话框后“安装新组件”——选择路径

4)记下新组件的名字如下图“OphirLMMeasurement.ColMMeasurement.1”

6.在VC2008下使用.dll的COM控件

#import "C:\myctl.dll" no_namespace

使用: 

 

CoInitialize(NULL);
 CLSID clsid;
 CLSIDFromProgID(OLESTR("OphirLMMeasurement.CoLMMeasurement.1"),&clsid);
 CComPtr<ICoLMMeasurement> pMM;//智能指针
 pMM.CoCreateInstance(clsid);

///中间使用接口函数

pMM->Open()

....

///
 pMM.Release();
 CoUninitialize();
 

7.相关类型转换

SAFEARRAY  -> char*


 VARIANT vTemp;
 pMM->ScanUSB(&vTemp);

先把SAFEARRAY转换为BSTR类型
 BSTR* buf;

 SafeArrayAccessData(vTemp.parray, (void **)&buf);

再转为char*
 char* lpszText2 = _com_util::ConvertBSTRToString(buf[0]);......

......
 SysFreeString(buf[0]); // 用完释放
 delete[] lpszText2;

 

更多推荐

VC下COM控件使用方法

本文发布于:2024-02-13 23:05:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760948.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控件   使用方法   VC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!