如何重新注册dll注册wtopcsvr.dll

>> WTOPCsvrAPI.h
WTOPCsvrAPI.h ( 文件浏览 )
/////////////////////////////////////////////////////////////////////////////////////////////
// Callback Definitions
// Used by the DLL to pass control back to the Server Application
// Each callback must be explicitly enabled by calling one of the following
// exported API functions:
EnableWriteNotification (WRITENOTIFYPROC lpCallback);
EnableUnknownItemNotification (UNKNOWNITEMPROC lpCallback);
EnableItemRemovalNotification (ITEMREMOVEDPROC lpCallback);
EnableDisconnectNotification (DISCONNECTPROC lpCallback);
EnableEventMsgs (EVENTMSGPROC lpCallback);
EnableRateNotification (RATECHANGEPROC lpCallback);
EnableDeviceRead (DEVICEREADPROC lpCallback);
// WRITENOTIFYPROC
Signals the Application that an OPC Client has requested a write to a
HANDLE value represents the tag, VARIANT* defines the new data,
and DWORD* allows the application to return either S_OK or an ERROR result
// UNKNOWNITEMPROC
Signals the Application that a Client has requested a tag that has
not been previously defined, (or has been suspended).
The two character
pointer arguments represent the OPC Path Name and Item Name of the requested
This callback allows the Server Application to operate with dynamic
tags that are created and maintained only when subscribed to by a connected
// ITEMREMOVEDPROC
Works in conjuction with the above UNKNOWNITEMPROC.
This callback signals the
Application that the last client subscription for a given item has ended.
HANDLE of the tag item is returned as well as the Path and Item Name.
Server Application may choose to remove or suspend the tag when no clients are
subscribing to the data.
// DISCONNECTPROC
Notifies the Server Application whenever a client disconnects.
The DWORD argument
defines the number of client connections remaining.
This callback may be used
to shutdown the server when the last client disconnects.
// EVENTMSGPROC
Allows the Application to receive event messages from the WtOPCsvr.dll for
tracing OPC Client Interface calls.
Primarily used for debugging purposes.
// RATECHANGEPROC
Notifies the Application of the fastest update rate requested by a client for an item.
May be used to selectively change the server side data refresh rate to optimize
operation for different client connections.
// DEVICEREADPROC
Callback into Application whenever a client requests a SyncIO Read
with dwSource set to OPC_DS_DEVICE.
Argument list includes the item
handle with pointers to the data, quality, and timestamp to be supplied
by the application
/////////////////////////////////////////////////////////////////////////////////////////////
#ifdef STRICT
typedef VOID (CALLBACK* WRITENOTIFYPROC)(HANDLE, VARIANT*, DWORD*);
typedef VOID (CALLBACK* UNKNOWNITEMPROC)(CHAR*,CHAR*);
typedef VOID (CALLBACK* ITEMREMOVEDPROC)(HANDLE,CHAR*,CHAR*);
typedef VOID (CALLBACK* DISCONNECTPROC)(DWORD);
typedef VOID (CALLBACK* EVENTMSGPROC)(CHAR*);
typedef VOID (CALLBACK* RATECHANGEPROC)(HANDLE, DWORD);
typedef VOID (CALLBACK* DEVICEREADPROC)(HANDLE, VARIANT*, WORD*, FILETIME*);
#else /* !STRICT */
typedef FARPROC WRITENOTIFYPROC;
typedef FARPROC UNKNOWNITEMPROC;
typedef FARPROC ITEMREMOVEDPROC;
typedef FARPROC DISCONNECTPROC;
typedef FARPROC EVENTMSGPROC;
typedef FARPROC RATECHANGEPROC;
typedef FARPROC DEVICEREADPROC;
#ifdef __cplusplus
extern &C& {
/* __cplusplus */
/////////////////////////////////////////////////////////////////////////////////////////////
// Initialization and Registration functions
/////////////////////////////////////////////////////////////////////////////////////////////
// WTOPCsvrRevision()
Simply returns a version identifier for the DLL
// SetThreadingModel()
Allows the application to select either the COINIT_MULTITHREADED
or COINIT_APARTMENTTHREADED model for the Server,
(the default is COINIT_MULTITHREADED ).
// InitWTOPCsvr()
Initializes DCOM, Security, and creates the Server ClassFactory
pCLSID_Svr points to a c-style GUID structure
// ResetServerRate()
The specified ServerRate is the fastest rate at which the data can
be updated to a client.
The minimum server rate that may be selected is
// SetVendorInfo()
Allows the application to specify a vendor specifc string to identify
the server.
This string will appear as part of the OPCSERVERSTATUS structure
returned by the GetStatus Interface.
// UninitWTOPCsvr()
Uninitializes COM.
// UpdateRegistry()
Makes the appropriate entries to the Windows Registry to identify the Server.
pCLSID_Svr points to a c-style GUID structure
// AddLocalServiceKeysToRegistry()
Makes additional Registry Entries required if the Server is to be installed
as an NT Service.
// UnregisterServer()
Removes the Registry Entries
pCLSID_Svr points to a c-style GUID structure
/////////////////////////////////////////////////////////////////////////////////////////////
__declspec(dllexport) WORD WINAPI WTOPCsvrRevision();
__declspec(dllexport) BOOL WINAPI SetThreadingModel(DWORD dwCoInit);
__declspec(dllexport) BOOL WINAPI InitWTOPCsvr (BYTE *pCLSID_Svr, UINT ServerRate);
__declspec(dllexport) BOOL WINAPI UninitWTOPCsvr ();
__declspec(dllexport) BOOL WINAPI ResetServerRate (UINT ServerRate);
__declspec(dllexport) BOOL WINAPI UpdateRegistry (BYTE *pCLSID_Svr, LPCSTR Name, LPCSTR Descr, LPCSTR ExePath);
__declspec(dllexport) BOOL WINAPI AddLocalServiceKeysToRegistry (LPCSTR Name);
__declspec(dllexport) BOOL WINAPI UnregisterServer (BYTE *pCLSID_Svr, LPCSTR Name);
__declspec(dllexport) void WINAPI SetVendorInfo (LPCSTR VendorInfo);
/////////////////////////////////////////////////////////////////////////////////////////////
// OPC Item Functions
/////////////////////////////////////////////////////////////////////////////////////////////
// SetWtOPCsvrQualifier(...)
Allows the application to supply the delimiting character used to
seperate tag names in a hiearchial namespace.
(The delimiting character by default is '.')
// CreateTag()
Add an OPC Item to the WtOPCsvr.DLL local tag list.
The dll takes care of
all client references to the tag and provides a callback to the application
if the tag is updated by a client.
Once a tag gets created, it's name will
automatically be presented in the browse list to any interested OPC Client.
// UpdateTag()
// UpdateTagWithTimeStamp()
// UpdateTagByName()
Allows the Server Application to change the value, quality and timestamp of
All updates are automatically provided to subscribing clients as defined
by the particular connection.
// SetTagProperties()
Tag Properties are values associated with an OPC Item other than its Value,
Quality and TimeStamp.
Any property value may be assigned by the server
for a defined tag.
// ReadTag()
// ReadTagWithTimeStamp()
Allows the Application to read each tag value from the WtOPCsvr.dll local Tag List.
// SuspendTagUpdates()
When a Tag is created by the Server Application, it is automatically enabled for
client subscription.
The tag name will automatically be included in the server
browse list and any client may connect and read it's current value.
In certain
applications, it is desirable to only create the tag whenever a client requests it.
The UNKNOWNITEMPROC callback may be used for dynamic tag allocation, but until the
tag is created, the tag name will not show up in the browse list.
Creation of the
tag followed by a call to SuspendTagUpdates() will allow the tag name to be browsed
by a client, but not subscribed to.
In this scenario, the WtOPCsvr.dll will issue
the UNKNOWNITEMPROC callback to allow the Application to enable the tag and begin
updating it's value only when being actively subscribed by an OPC Client.
// RemoveTag()
Deletes a tag from the WtOPCsvr Tag List.
/////////////////////////////////////////////////////////////////////////////////////////////
__declspec(dllexport) char
WINAPI SetWtOPCsvrQualifier (char qualifier);
__declspec(dllexport) HANDLE WINAPI CreateTag (LPCSTR Name, VARIANT Value, WORD InitialQuality, BOOL IsWritable);
__declspec(dllexport) BOOL WINAPI UpdateTag (HANDLE TagHandle, VARIANT Value, WORD Quality);
__declspec(dllexport) BOOL WINAPI UpdateTagWithTimeStamp (HANDLE TagHandle, VARIANT Value, WORD Quality, FILETIME timestamp);
__declspec(dllexport) BOOL WINAPI UpdateTagByName (LPCSTR Name, VARIANT Value, WORD Quality);
__declspec(dllexport) BOOL WINAPI SetTagProperties (HANDLE TagHandle, DWORD PropertyID, LPCSTR Description, VARIANT Value);
__declspec(dllexport) BOOL WINAPI ReadTag (HANDLE TagHandle, VARIANT *pValue);
__declspec(dllexport) BOOL WINAPI ReadTagWithTimeStamp (HANDLE TagHandle, VARIANT *pValue, WORD *pQuality, FILETIME *pTimestamp);
__declspec(dllexport) BOOL WINAPI SuspendTagUpdates (HANDLE TagHandle, BOOL OnOff);
__declspec(dllexport) BOOL WINAPI RemoveTag (HANDLE TagHandle);
//RWD 2-Aug-2000 ARtI - Associates for Real-time Information
//-------------------------------------------------------------------------------------
// SetServerState allows user to show problems
// SetHashing
enables hashing, sets suggested hashtable size
// UpdateTagToList replaces UpdateTag call, requires prior StartUpdateTags else fails
and EndUpdateTags after all tags updated...
// variations UpdateTagWithTimeStampTo List and UpdateTagByNameToList could also be done...
__declspec(dllexport) void WINAPI SetServerState( OPCSERVERSTATE ServerState );
__declspec(dllexport) unsigned long WINAPI SetHashing( unsigned long sizeHash );
__declspec(dllexport) BOOL WINAPI StartUpdateTags ();
__declspec(dllexport) BOOL WINAPI UpdateTagToList (HANDLE TagHandle, VARIANT Value, WORD Quality);
(文件超长,未完全显示,请下载后阅读剩余部分)
展开> <收缩
下载源码到电脑,阅读使用更方便
还剩0行未阅读,继续阅读 ▼
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
BCBWTSvrTest1.bpr5.29 kB03-16-02 10:08
959.00 B03-16-02 10:08
BCBWTSvrTest1.res876.00 B03-12-02 15:32
junk.cfg1.38 kB08-05-00 14:16
109.00 B03-02-01 13:23
2.48 kB03-11-00 14:59
91.49 kB02-15-99 14:55
4.34 kB07-30-00 18:23
52.95 kB03-10-00 11:51
19.90 kB03-17-02 18:05
Unit1.dfm1.69 kB03-17-02 18:03
2.51 kB03-17-02 16:41
3.58 kB03-17-02 16:23
Unit2.dfm2.54 kB03-13-02 07:25
1.96 kB03-13-02 07:25
540.00 B03-16-02 10:08
Unit3.dfm584.00 B03-16-02 10:08
910.00 B03-16-02 10:10
wtopcsvr.lib13.50 kB03-12-02 14:53
23.53 kB03-12-02 14:20
Sponsored links
评价成功,多谢!
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足
支付宝优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:255.904ms 27.69
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
OPC技术的研究及其应用.pdf65页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
安徽理工大学硕士学位论文 Abstract Fieldbuscontrol Control alink system FCS,Field―bus between System as
controldevicefor been inthe digital industrial communication,haswidelyapplication data and Cannotbe realizedthe
processacquisition data systemmonitoring.Itdirectly
transmissionand informationbetweenthedifferentachieve sharing bus,to information inadifferentfieldbussubnet isa fortheformationan
integration urgentproblems of control forProcess isa
open system.OPC OLEContr01 specificationindustry
standardasatechnicaltoMicrosoftusedinthe controland support process automation a ofinterfaces.OPCisa to
applications,includinggroup technologykeytechnology
realize informationinteractionbetween and field processmanagement―level
device―level control isall meansof systems,andimportant realizinginteroperability
betweendifferentfield bus protocols. Thisarticle describesthefieldbusandOPC a technology,and proposesprogram
toachieve thefieldbus heterogeneoussystemintegrationusing andtheOPC OPCserverandtheclientfordifferentfieldbus
technology:the respective segment
havebeen softwareasOPCclient Canaccessto developed,hostcomputer program
eachdifferentfield bustheconsistentOPC toeach by bus interface,accessingsegment
of achievecommunicationandinteractionbetweenthedifferent data,to bus systems.
As the ofdifferent standardsof development protocol OPCservershasa of great ofOPCstandarddata isthe
reusability,theprocess encapsulationsame,only
differenceisthatthedatacollection tobeachieved
to section,needing according
differentfieldbus thesame Modbus protocols.Attime,takingprotocolapplication into this C++asa
Widelyaccount,SO paper,Visualdevelopmentplatform,WinTECH
Software’SOPCserver kitasa tooltoModbusOPCData developmentdevelopment
AccessServerasan to describethe andthe example regularly developmentprocess ofOPCDataAccessServer.
design Thearticledescribesrealizati
正在加载中,请稍后...1058人阅读
组态设计(11)
一.准备工作:
下载opc基金会的OPC Proxy DLL然后按照说明进行安装。这些动态库是opc程序运行所必须的。
1.&&&&& 将下列文件拷贝至要运行OPC服务器和OPC客户端的机器上的SYSTEM32目录下
&&&&&&&&&&&&& copy opcproxy.dll C:\WINDOWS\system32
&&&&&&&&&&&&& copy opccomn_ps.dll C:\WINDOWS\system32
&&&&&&&&&&&&& copy opc_aeps.dll C:\WINDOWS\system32
&&&&&&&&&&&&& copy opchda_ps.dll C:\WINDOWS\system32
&&&&&&&&&&&&& copy aprxdist.exe C:\WINDOWS\system32
&&&&&&&&&&&&& copy opcenum.exe C:\WINDOWS\system32
2.&&&&& 注册这些 dll 文件
&&&&&&&&&&&&& REGSVR32 opcproxy.dll
&&&&&&&&&&&&& REGSVR32 opccomn_ps.dll
&&&&&&&&&&&&& REGSVR32 opc_aeps.dll
&&&&&&&&&&&&& REGSVR32 opchda_ps.dll
3.&&&&& 如果在windows 系统(\WINDOWS \system32)目下不存在actxprxy.dll,运行aprxdist.exe
4.&&&&& 安装 opcenum.exe
&&&&&&&&&&&&& opcenum /regserver
二.opcserver开发
1.&&&&& 新建vc工程。比如建一个控制台工程。在工程中包含如下头文件
#include &opcda.h&
#include &opc_ae.h&
#include &WTOPCsvrAPI.h&
#include &WtOPCsvrEXTapi.h&
以上头文件在例子程序中都能找到,拷贝到自己的工程下。
WTOPCsvrAPI.h是开发包动态库提供的导出函数文件。里面有每个函数的具体说明,调用的时候看一下说明。
2.&&&&& 在.cpp中定义一个GUID这个guid是用来标识opcserver的唯一id可以通过操作系统的工具生成,也可以编一个。格式如下。
const GUID
CLSID_OPCSimSvr = {0x99b8f472, 0xc037, 0x11d2, {0x80, 0xb8, 0x0, 0x60, 0x97, 0x58, 0x58, 0xbe}};
3.&&&&& 在工程中加入对WtOPCSvr动态库的连接。
WTOPCsvr动态库的有关文件都在之前的例子包里面能找到。
WTOPCsvr.lib WTOPCsvr.dll是对应lib和dll
4.&&&&& 初始化
(1)调用UpdateRegistry()函数完成注册。下面是一个调用参考例子代码
BOOL COPCSimSvrApp::InitInstance()
TCHAR&& szTokens[] = _T(&-/ &);
CString HelpP
CString& SvrName, SvrD
HelpPath = AfxGetApp()-&m_pszHelpFileP
i = HelpPath.ReverseFind('\\');
HelpPath = HelpPath.Left(i+1);
HelpPath += &OPCSIMSVR.EXE&;&&&&&&&&&&&&&
// Self-Registration code
// (look for cmdline options to register & unregister server)
SvrName = &WinTECH.OPCServer&;
SvrDescrip = &WinTECH Software OPC Server Simulator&;
CString tempCmdLine(m_lpCmdLine);
LPTSTR lpszToken = _tcstok(tempCmdLine.GetBuffer(1), szTokens);
while (lpszToken != NULL)
&&&&&&& if (_tcsicmp(lpszToken, _T(&UnregServer&))==0)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&& UnregisterServer ((BYTE *)&CLSID_OPCSimSvr, SvrName);
&&&&&&&&&&&&&& return (FALSE);
&&&&&&&&&&&&&& }
&&&&&&& else if (_tcsicmp(lpszToken, _T(&RegServer&))==0)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&& UpdateRegistry ((BYTE *)&CLSID_OPCSimSvr,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& SvrName,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& SvrDescrip,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& HelpPath);
&&&&&&&&&&&&&& return (FALSE);
&&&&&&&&&&&&&& }
&&&&&&& lpszToken = _tcstok(NULL, szTokens);
(2)调用InitWTOPCsvr完成开发包dll初始化。
以上两个步骤不可颠倒。
5.&&&&& 创建item
这里的item是服务器所有的item,这些item通过opc库户端能浏览到。创建item的函数为CreateTag().
Opc有两种地址空间形式:扁平和多层结构的。
比如调用创建的点为item1、item2、item3.这类结构就是扁平的。各个点类似与文件系统中的文件。
比如调用创建的点为test.item1、test.item2、test.item3这种点名,开发包会自动形成多层的点结构。Test类似与文件系统中的文件夹,item类似与文件系统中的文件夹下的文件。扁平式和多层结构在客户端浏览点名时体现。
多层结构的点名之间默认是用“.”分隔。为了简单可以将我们的opcserver设计为扁平结构。
创建一个点时会返回一个handle用来标识这个点。我们程序需要自己建立这个handle和数据库中保存设备实时值的对应关系。这部分可以参考例子代码。
6.&&&&& 建立一个定时器采集设备数据
定时从数据库中取得各个handle对应的item的值。然后比较各个item的值是否和上一次读取的值有变化,如果有变化调用UpdateTagToList放入对应的队列。开发包会自动将变化的值送到客户端。
大致流程为
(1)&&& 从数据库中采集一遍所有点的实时值。
(2)&&& 调用StartUpdateTags()
(3)&&& 循环读取每个item在数据库中的数据,和上一次读取到的进行比较。如果有变化调用UpdateTagToList()
(4)&&& 最用调用EndUpdateTags()完成所有item的更新。
7.&&&&& 客户端控制
客户端写tag的值的时候,在opcserver是通过一个回调函数来响应的。
在服务器端必须调用EnableWriteNotification()来指定写值的回调函数。回调函数的格式为:
typedef VOID (CALLBACK* WRITENOTIFYPROC)(HANDLE, VARIANT*, DWORD*);
然后在回调函数内部实现从HANDLE指定的tag写到具体的控制设备对应的变量中。
8.&&&&& 其它常用函数
RequestDisconnect()一般在opcserver在关闭时调用,用来通知客户端opcserver自己要关闭。
NumbrClientConnections()用来计算当前有多少个客户端连接到了opcserver
UninitWTOPCsvr()程序退出时清理
SetVendorInfo()设置厂商信息
三.opc客户端测试
下面以本机opcquickclient.exe为例说明服务器和客户端之间的应用关系。
1.&&&&& 运行opcquickclient.exe
2.&&&&& 点击edit-&new server connection 菜单。弹出server properties对话框。从中展开opc data access server version 2.0.会浏览到本机安装的所有opcserver。选中我们自己开发的opcserver,点击确定。完成与服务器的连接
3.&&&&& 点击edit-&new group 用默认值添加组。
4.&&&&& 点击edit-&new item 弹出如下对话框。(下图是一个多层结构地址空间的例子,单层的更简单)选中左侧的某个父节点,右侧会显示出各个子tag。选中要向opcserver查询的tag,点击add leaves。然后点击ok
5.&&&&& 在客户端主界面上能看到刚才要查询的tag。它会自动跟随opcserver端数据的变化而变换。
6.&&&&& 右键要控制的tag,在菜单中选择同步写或者异步写(一般建议用异步,避免阻塞客户端的正常运行)。键入要写入的值。查看设备上是否动作。从而检验opcserver是否编写的正确。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:34482次
排名:千里之外
原创:28篇
转载:22篇
(1)(1)(1)(5)(2)(4)(2)(2)(2)(2)(3)(4)(7)(1)(3)(3)(2)(2)(1)(1)(1)c#扩展WtOPCSvr.dll组件OPC SERVER服务,ScaleOPC.DLL
因工作需要,在现有的软件里加入OPC服务。以前也了解过这方面的知识,所以这次学起来&
&也很容易上手。
&加入OPC服务到是很简单,但是,考虑到一个团队将来有可能使用到OPC。所以,我的思想
&是用C#扩展WtOPCSvr.dll组件,同样的,做一个再次开发组件包-----“ScaleOPC.DLL”-----服务器端的开发包。
&下面我就介绍一下“ScaleOPC.DLL”的功能和具体应用,其实用起来很容易的:
&一、“ScaleOPC.dll”的功能和内部结构:
&&(1)。 引用WtOPCSvr.dll组件内部所有的函数,WtOPCSvr.dll组件是用VC写的,
&&&&&&&&&&&& 所以要用C# [DllImport&& (&WtOPCSvr.dll&)],对于编程的人来说,
&&&&&&&&&&& 这个大家都知道的。对应的BaseOPCServer.cs类。
& (2)。 继承BaseOPCServer.cs类,编写的OPC SERVER使用类。当然了,直接用
&&&&&&&&&& & BaseOPCServer.cs也可以使用,但是为了方便管理TAG,增加了TagInfo.cs和
&&&&&&&&&&&& TagCollection.cs类,用户管理TAG信息和集合。
&& (3)。增加了数据库驱动功能,大家可以用这个DLL配制数据源,并对字段进行随意的配
&&&&&&&&&&&& 制。支持ACCESS和SQL两种数据库类型。
&& (4)。为了方便使用,当启动服务时候,会检查OPC相关是否注册,如果没有注册,这个
&&&&&&&&&&&& DLL&会自动释放嵌入式资源,进行注册。
&& (5)。大家只需要一个&ScaleOPC.dll&就可以了,其他的内嵌资源会自动释放。做到用户
&&&&&&&&&&&& 无关性。
二、具体应用,只是几个函数而以。
用起来还是很方便的.里的机制大家不用管,都封装好了. //用户使用的时候对外的接口类 ScaleOPC.OPCInterface inter=new ScaleOPC.OPCInterface ();
//配制数据源 inter.ConfigOPCSvr();
//启动线程服务,建立OPC TAG,并实时更新数据 inter.StartOPCSvr (System.AppDomain .CurrentDomain .BaseDirectory +&Test.exe&);
//暂停当前服务 inter.Suspend ();
//重新启动服务 inter.Resume ();
//停止当前服务 inter.CloseOPCSvr();
//查看当前TAG结构 ScaleOPC.TagStructForm form=new ScaleOPC.TagStructForm (inter); form.ShowDialog ();
配制数据库类型
选择ACCESS数据源
选择SQL数据源
配制数据源字段
查看TAG结构
客户端测试工具。
请大家多多指教,希望和大家能够交流!
ScaleOPC.dll下载地址:
QQ: 网名:唯笑志在 群号:
你好,这个ScaleOPC.dll使用vc++6.0也可以使用么?我是用VC开发Server的,觉得你的这个封装很好。
chimeng813
你好,这个ScaleOPC.dll使用vc++6.0也可以使用么?我是用VC开发Server的,觉得你的这个封装很好。
ScaleOPC.DLL我是用C#写的,不知道用VC怎么调用,不过可以有一个间接的解决办法,你可以调用ScaleOPC.DLL做一个EXE文件,再用VC调用EXE文件.
ScaleOPC.DLL我是用C#写的,不知道用VC怎么调用,不过可以有一个间接的解决办法,你可以调用ScaleOPC.DLL做一个EXE文件,再用VC调用EXE文件.
请问你还有WTOPCSvr.dll吗?
[e01][e01][e01]
本分类共有文章12篇,更多信息详见
& 2012 - 2016 &
&All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";}

我要回帖

更多关于 如何重新注册dll 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信