功能构件高级开发中接口函数参数传递的问题 点击:336 | 回复:0



lth5460

    
发表于:2011-08-24 16:40:16
楼主

接口:SvrStgySetOperator
接口作用:本接口的作用是读取功能构件的类型名称、注释和所对应的图标资源的ID号以及组态时设置构件的属性时调用。
参数说明:..................................................

DatObj,MCGS实时数据库数据对象。
SavObj ,存盘服务对象,接口程序中通过该对象来保存和读取数据。

接口:SvrStgyRunOperator

参数说明:DatObj,MCGS实时数据库数据对象;
SavObj ,存盘服务对象,接口程序中通过该对象来保存和读取数据。
针对存盘数据浏览构件这个例子来讲,用法如下:

Public Function SvrStgySetOperator(strName As String, strNotes As String, lngIcon As Long, objMcgsData As Object, objMcgsSave As Object, lngQuery As Long) As Long
‘* 函数作用 : 组态环境下调用本接口,查询图标和类型名称,以及打开属性设置窗口

If lngQuery Then
‘查询
lngIcon = 132
strName = "存盘数据浏览"
strNotes = "存盘数据浏览"
Exit Function
End If

Dim dlg As frmAddInSet
Dim clsSaveAddInTemp As clsSaveAddin

Set dlg = New frmAddInSet
Set clsSaveAddInTemp = New clsSaveAddin
clsSaveAddInTemp.InitProperties
clsSaveAddInTemp.ReadProperties objMcgsSave

Set dlg.g_clsSaveAddIn = clsSaveAddInTemp
Set dlg.g_objMcgsData = objMcgsData
Set dlg.g_objMcgsSave = objMcgsSave

dlg.Show 1

End Function

Public Function SvrStgyRunOperator(objMcgsData As Object, objMcgsSave As Object) As Long
‘* 函数作用 : 运行环境下调用本接口,执行构件的功能

Dim dlg As frmAddInRun
Dim clsSaveAddInTemp As clsSaveAddin

Set dlg = New frmAddInRun
Set clsSaveAddInTemp = New clsSaveAddin
clsSaveAddInTemp.InitProperties
clsSaveAddInTemp.ReadProperties objMcgsSave

Set dlg.g_clsSaveAddIn = clsSaveAddInTemp
Set dlg.g_objMcgsData = objMcgsData
Set dlg.g_objMcgsSave = objMcgsSave
dlg.g_lngMcgsRunFlag = 1

dlg.Show 1

DBEngine.Idle dbRefreshCache

End Function

请问:如果我的MCGS实时数据库数据对象是压力,那么在组态和运行时,“压力”这个对象是如何与接口函数中的objMcgsData交换的,又如何与控件中的变量交换的?还有,在mcgs工程中有个字符型变量比如“选定路径”,怎样将控件中选定的数据库的路径传给这个变量?又怎样将这个变量指向的数据库在控件中打开?烦请各路高手就存盘数据浏览构件这个例子讲解一下,非常感谢!


SSI ļʱ