2011-09-13 37 views
1

我正在首次嘗試silktest內部應用程序。在其中一個窗口,我有了兩個菜單列表按鈕:SilkTest工作臺無效的對象句柄異常?

New (pushbutton) ---> Option1 (list menu) + Option2 
if option1 clicked ---> subOption1, subOption2? 

所有這些選項特定於當前方案和用戶。

錄製時,SilkTest中檢測到「新建」按鈕,但播放時,它拋出一個錯誤:the handle of the object is invalidated.

一個可能的解決方案是,以實例化對象是這樣的:

dim button as New Pushbutton 

但它會拋出一個錯誤:SilkTest.ntf.Pushbutton.Friend sub New (handle as silk test.ntf.ObjectHandle) is not accessible in this context because it is 'Friend'

有人可以幫忙嗎?有什麼建議麼??

回答

0

當您嘗試使用不再有效的對象時,引發「無效的對象句柄異常」,例如,考慮關閉的對話框,然後嘗試對它執行操作,它將不再有效工作。有時情景不是那麼明顯,但其基本原理是一樣的。

此外,不要構造PushButtons,使用find方法獲取它們,這將確保它們包含有效的對象句柄。

Dim myButton As PushButton = myDialog.Find("//PushButton[@caption='New']") 
myButton.Select() 
+0

感謝tehlexx爲您的答案。但是,當我使用.Find方法時,它根本沒有檢測到PushButton!在silktest中有沒有不同的方法來實例化按鈕對象?我也嘗試過等待對象,但它沒有任何區別。有什麼建議麼? – Nancy89

+0

沒有其他的方法來實例化這些對象,你總是使用find。如果找不到對象,通常是因爲定位器錯誤。找出對象的定位器的最簡單方法是記錄它。 – tehlexx