调用内部方法时出现“需要对象”错误

时间:2013-05-17 14:54:16

标签: .net winforms vbscript qtp

我正试图在我的一个.NET对象上调用QTP的内部方法。当我运行脚本时,我收到“需要对象”错误消息。

这是我的剧本:

Set gridObj = SwfWindow("Test Program").SwfObject("dataGrid").Object
Set dataRow = gridObj.RowIndexToDataRow(0).Object
Msgbox dataRow.Item(0)

RowIndexToDataRow(0)方法非常简单,它以整数作为参数并返回DataRow个对象。

脚本在第二行代码上失败,并显示以下错误消息:

  

需要的对象:'gridObj.RowIndexToDataRow(...)'

     

第(2)行:“设置dataRow = gridObj.RowIndexToDataRow(0).Object”。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

这最终结束了:

Set gridObj = SwfWindow("Test Program").SwfObject("dataGrid").Object
Msgbox gridObj.Item(0,0).CellValue

另一个发现是,如果使用Set blahblah,显然在设置变量时,期望将blahblah设置为Object。因此,如果您正在调用类似Set blahblah = gridObj.getSize()的函数,它将返回int,它会抱怨“需要对象”。这可以通过使用blahblah = gridObj.getSize()而不是Set来修复。