51Testing软件测试论坛

标题: vbscript 如何把对象作为参数传给函数 [打印本页]

作者: sailor_hu    时间: 2006-8-1 13:38
标题: vbscript 如何把对象作为参数传给函数
下面是我需要的函数,   我想把  Window("textwindow").WinObject("textgrid_5") 这个对象作为参数传递给  GetText()  ,请问如何实现,  虽然我举的例子很简单,但是如果能把对象作为参数传递给函数,我可以优化以前写的很多函数,万分感谢   


Function  GetText()
                  Set   f =Window("textwindow").WinObject("textgrid_5")
                   GetText = f.GetVisibleText           
End Function
作者: xiaonan    时间: 2006-8-1 15:37
试试可不可以把Window("textwindow").WinObject("textgrid_5")附给一个变量,然后传进去啊
作者: jbmw_dzg    时间: 2006-8-2 02:10
Function  GetText(obj)
               GetText = obj.GetVisibleText           
End Function
Set   f =Window("textwindow").WinObject("textgrid_5")
GetText(f)

Try it
作者: sailor_hu    时间: 2006-8-2 17:47
好了,谢谢
作者: amanda1981    时间: 2006-8-14 17:00
标题: 这个 函数是递归吧
这个 函数是递归吧
作者: walker1020    时间: 2006-8-14 20:53
标题: 楼上的,这不是递归函数!
Function  GetText(obj)
               GetText = obj.GetVisibleText           
End Function  

是按照 VBscript 对 Function  的语法要求写的。你去看看帮助文档就知道了,这可不是什么递归函数。

[ 本帖最后由 walker1020 于 2006-8-14 20:55 编辑 ]
作者: caigua    时间: 2006-8-16 12:04
区别就在楼主一开始把object的赋值放到了函数体内,而后来的解决方法是把赋值放在主程序里,然后传递object参数给函数。
楼主开始的方法很可能根本没有正确的引用到object,因为set语句里引用的Window,WinObject是QTP特有的对象,放在function里可能无法解释
作者: walker1020    时间: 2006-8-16 19:57
楼上的兄弟说的对。我用 一个对象作为参数传给函数,结果报告说 :
对象不支持此属性或方法: 'Object'
Line (44): "object = Browser("Browser").Page("Page_4").WebEdit("input_text_2")".
我不知道楼主用对象作为参数传递给函数是否试验成功了。楼主看到此帖后请回复一下。

[ 本帖最后由 walker1020 于 2006-8-16 20:02 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2