2011-09-13 12 views
1

私は社内アプリケーションで初めてsilktestを試しています。いずれかのウィンドウでは、2つのメニューリストを持つボタンがあります。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

有効ではなくなったオブジェクトを処理しようとすると「無効なオブジェクトハンドル例外」がスローされます。たとえば、閉じているダイアログなどを考えて、後で何かをしようとすると、作業。シナリオがそれほど明白ではない場合もありますが、基本原則は同じです。

また、プッシュボタンを作成せず、findメソッドを使用して取得すると、有効なオブジェクトハンドルが含まれていることが確認されます。

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

回答ありがとうございました。しかし、.Findメソッドを使用すると、PushButtonが検出されません。 silktestにプッシュボタンオブジェクトをインスタンス化する別の方法はありますか?私もオブジェクトを待ってみましたが、違いはありません。助言がありますか? – Nancy89

+0

これらのオブジェクトをインスタンス化する方法は他にありません。常にfindを使用します。オブジェクトが見つからない場合は、通常、ロケータが間違っているためです。オブジェクトのロケータを見つける最も簡単な方法は、オブジェクトを記録することです。 – tehlexx

関連する問題