?? d183.bmp.txt
字號:
要求在類中添加其他功能代碼。
2)包含OPC標準庫文件。
本例除了上述客戶端兩個接口實現的程序部分外,和實例8-樣還需要包含OPC標準
庫文件:
#include "opcda_i.c"
#include "opcda.h"
#include "opccomn_i.c"
#include "opccomn.h"
#include "opcda_cats.c"
,/OPC數據存取接口
/,OPC數據存取2.0頭文件
,,OPC公共接口定義
/,OPC公共頭文件
,/OPC數據存取組件分類(1.0和2.0)
具體方法與實例8相同。
3)在類CServerInfoView中定義如下成員變量。
IOPCServer *m_opcServer;
IOPCGroupStateMgt *m_opcGroup;
DWORD dwConnection;
OPCHANDLE groupHandle;
OPCCallback* callbackCP;
OPCShutdown *shutdownCP;
DWORD dwShutdownConnection;
//OPC數據存取服務器對象
j{組對象
//響應數據變化的連接點
//組對象的句柄
//響應數據變化的對象
//響應服務器關閉的耐象
//響應服務器關閉的連接點
4)調用AfxOlelnit初始化OLE動態鏈接庫。
if ( !AfxOleLnit0)
retum FALSE;
該初始函數可放在COpcClientSpyApp::lnitlnstance()函數中。
5)在類CServerInfoView中初始化成員變量和計數器。
CS erverlnfoView::CServerInfoView0
: CFomNiew(CServerInfoView::IDD)
{
callbackCP=new OPCCallbackObject;//創建對象
callbackCP->AddRef0;
shutdownCP=new OPCShutdownObject;,/創建對象
shutdownCP->AddRef0;
AfxOleLockApp();//增加OPCCallbackObject和OPCShutdownObject的計數。
)
6)連接某一個OPC服務器。
LPUNKNOWN pUnkn=NULL;
HRESULT hr;
hr=CoCrestelnstance(clsid,NULL,CLS CIX_ALL,IID_Iunkown,(LPVOID*)&pUnkn);
/clsid爹數含義同實例8。
183
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -