google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

[求助] vbscript 如何把对象作为参数传给函数

vbscript 如何把对象作为参数传给函数


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


Function  GetText()
                  Set   f =Window("textwindow").WinObject("textgrid_5")
                   GetText = f.GetVisibleText           
End Function
心情好,一切都好

TOP

试试可不可以把Window("textwindow").WinObject("textgrid_5")附给一个变量,然后传进去啊

TOP

Function  GetText(obj)
               GetText = obj.GetVisibleText           
End Function
Set   f =Window("textwindow").WinObject("textgrid_5")
GetText(f)

Try it

TOP

好了,谢谢
心情好,一切都好

TOP

这个 函数是递归吧


这个 函数是递归吧

TOP

楼上的,这不是递归函数!


Function  GetText(obj)
               GetText = obj.GetVisibleText           
End Function  

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

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

TOP

区别就在楼主一开始把object的赋值放到了函数体内,而后来的解决方法是把赋值放在主程序里,然后传递object参数给函数。
楼主开始的方法很可能根本没有正确的引用到object,因为set语句里引用的Window,WinObject是QTP特有的对象,放在function里可能无法解释

TOP

楼上的兄弟说的对。我用 一个对象作为参数传给函数,结果报告说 :
对象不支持此属性或方法: 'Object'
Line (44): "object = Browser("Browser").Page("Page_4").WebEdit("input_text_2")".
我不知道楼主用对象作为参数传递给函数是否试验成功了。楼主看到此帖后请回复一下。

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

TOP

 
当前时区 GMT+8, 现在时间是 2008-12-5 09:11Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹