[英]How to make object available globally in QTP
In the following code: 在下面的代码中:
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
The objects which are made in WinEdit
function, are limited to that function only. WinEdit
函数中创建的对象仅限于该函数。 I want to use the objects created in WinEdit
function to be reused in WinButton
function. 我想使用在
WinEdit
函数中创建的对象以在WinButton
函数中重用。
The whole point of functions is to encapsulate logic. 功能的重点是封装逻辑。 If you declare a variable in a function it defaults to being private to this function, you can declare it globally but this is usually discouraged since it creates dependencies between the functions.
如果在函数中声明变量,则默认为该函数私有,则可以全局声明它,但通常不建议这样做,因为它会在函数之间创建依赖关系。
You can do something like this (which will initialize desc
only once). 您可以执行类似的操作(只会将
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
给对象变量指定一个唯一的名称,将其放在记事本文件中,然后将该文件与脚本关联
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.