云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > OPC服务器与客户程序开发指南

OPC服务器与客户程序开发指南

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 21:36:23

图2.9向接口添加属性

完成了方法和属性的添加后,向导向.idl文件添加了方法和属性的定义。

interface IBeepCnt : IDispatch {

[id(1), helpstring(\Beep();

[propget, id(0), helpstring(\Count\ HRESULT Count([out, retval] long *pVal);

[propput, id(0), helpstring(\Count\ HRESULT Count([in] long newVal);

};

BeepCnt.h 包含了三个新函数的定义,BeepCnt.cpp 文件包含了这些函数的框架。

STDMETHODIMP CBeepCnt::Beep() {

// TODO: Add your implementation code here return S_OK;

}

STDMETHODIMP CBeepCnt::get_Count(long *pVal) {

// TODO: Add your implementation code here return S_OK;

}

STDMETHODIMP CBeepCnt::put_Count(long newVal) {

// TODO: Add your implementation code here return S_OK;

}

为了让创建的组件可以做一些我们能感觉到的事情,需要添加一些代码,首先,为CBeepCnt类添加一个计数器,并且在CBeepCnt()构造函数中把它初始化为1。

long cBeeps;

CBeepCnt() : CBeeps(1) { }

接着编写一部分代码在CBeepCnt的方法里。注意属性有两个功能,一个是设置计数器(p

ut_Count),一个是获得计数器(get_Count)。

STDMETHODIMP CBeepCnt::Beep() {

for (int i = 0; i < cBeeps; i++)

{

MessageBeep((UINT) -1); Sleep(1000); }

return S_OK; }

STDMETHODIMP CBeepCnt::get_Count(long *pVal) {

*pVal = cBeeps; return S_OK;

}

STDMETHODIMP CBeepCnt::put_Count(long newVal) {

cBeeps = newVal; return S_OK;

}

现在一个简单功能的组件诞生了,它可以用来发出嘟嘟声。 2.6 测试组件

如何来测试这个组件呢?一般而言,采用Visual Basic是个不错的选择,可以快速的编写客户程序来实现测试。可以编写一个图2.10所示的对话框程序来测试它。

图2.10测试界面

采用Visual Basic 6.0生成的代码如下:

Dim BeeperCnt As BeepCnt Private Sub Beep_Click() Text1 = BeeperCnt BeeperCnt.Beep

End Sub

Private Sub Set_Click() BeeperCnt = Val(Text1) Text1 = BeeperCnt

End Sub

Private Sub Form_Load()

Set BeeperCnt = New BeepCnt Text1 = BeeperCnt

End Sub

需要注意的是需要引用BeepCntMod 1.0 Type Library。

图2.11引用库

运行这个程序,是不是听到了嘟嘟声,而且可以设置嘟嘟声的次数,类似的,你可以添加更多的属性和方法,来增强这个组件的功能,是不是很简单呢。

重点:何为ATL?何为类厂?COM对象如何创建?如何测试COM组件功能?

第4章OPC客户程序实例

关键字:同步 异步 VC VB 4.1 OPC客户程序开发环境

无论开发者还是最终使用者都必须安装OPC代理/存根(Proxy/Stub)DLL,并进行环境设置。这些文件(opc_aeps.dll,opccomn_ps.dll,

opchda_ps.dll,opcproxy.dll,aprxdist.exe,opcenum.exe)可以从OPC基金会网站下载,也可以在http://www.opc-china.com下载。所有文件必须安装在客户端机器和服务器端机器上。

安装步骤如下:

1.复制所有的文件到你的Windows系统路径,如: copy opcproxy.dll c:\\winnt\\system32 copy opccomn_ps.dll c:\\winnt\\system32 copy opc_aeps.dll c:\\winnt\\system32 copy opchda_ps.dll c:\\winnt\\system32 copy aprxdist.exe c:\\winnt\\system32 copy opcenum.exe c:\\winnt\\system32 2.安装代理DLL。 REGSVR32 opcproxy.dll REGSVR32 opccomn_ps.dll REGSVR32 opc_aeps.dll REGSVR32 opchda_ps.dll

3.如果aprxdist.dll不存在,可以运行aprxdist.exe生成aprxdist.dll。 4.安装opcenum.exe

搜索更多关于: OPC服务器与客户程序开发指南 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

图2.9向接口添加属性 完成了方法和属性的添加后,向导向.idl文件添加了方法和属性的定义。 interface IBeepCnt : IDispatch { [id(1), helpstring(\Beep(); [propget, id(0), helpstring(\Count\ HRESULT Count([out, retval] long *pVal); [propput, id(0), helpstring(\Count\ HRESULT Count([in] long newVal); }; BeepCnt.h 包含了三个新函数的定义,Bee

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com