Function 如何使对象在QTP中全局可用

Function 如何使对象在QTP中全局可用,function,vbscript,dynamic-programming,qtp,Function,Vbscript,Dynamic Programming,Qtp,在以下代码中: systemutil.Run "C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe" WinEdit WinButton Public Function WinEdit Set objDialog=Description.Create objDialog("micclass").value="Dialog" Set objWinEdit=Descripti

在以下代码中:

systemutil.Run "C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"

WinEdit
WinButton


Public Function WinEdit
  Set objDialog=Description.Create
  objDialog("micclass").value="Dialog"

  Set objWinEdit=Description.Create
  objWinEdit("micclass").value="WinEdit"

  set WinEditCount=Dialog(objDialog).ChildObjects(objWinEdit)
  msgbox WinEditCount.count
End Function

Public Function WinButton
  Set objWinButton=Description.Create
  objWinButton("micclass").value="WinEdit"

  set WinButtonCount=Dialog(objDialog).ChildObjects(objWinButton)
  msgbox WinButtonCount.count   
End Function

WinEdit
函数中生成的对象仅限于该函数。我想使用在
WinEdit
函数中创建的对象在
WinButton
函数中重用。

函数的全部要点是封装逻辑。如果在函数中声明一个变量,该变量默认为该函数的私有变量,则可以全局声明该变量,但通常不鼓励这样做,因为它会在函数之间创建依赖关系

您可以执行类似的操作(仅初始化
desc
一次)


函数的全部要点是封装逻辑。如果在函数中声明一个变量,该变量默认为该函数的私有变量,则可以全局声明该变量,但通常不鼓励这样做,因为它会在函数之间创建依赖关系

您可以执行类似的操作(仅初始化
desc
一次)


为对象变量指定唯一名称,将其放入记事本文件并将该文件与脚本关联

为对象变量指定唯一名称,将其放入记事本文件并将该文件与脚本关联

Foo
Bar

Dim desc ' global variable

Private Function InitDesc
    If IsEmpty(desc)  Then
        Set desc= Description.Create()
    End If
End Function

Public Function Foo
    InitDesc

End Function

Public Function Bar
    InitDesc
End Function