動作の途中でポップアップメニューが表示されることがあるのですがデータの更新を促すメニューで何回表示されるのか決まっていません。まったく表示されないこともあります。表示された場合はすべて「YES」を選択します。条件分岐での作成をどのようにすれば上手くいくでしょうか?
ご教示いただけますようお願い致します。
ポップアップメニューが表示されなくなる終了条件って何かあるんですか?
ご連絡ありがとうございます。出てくるのをすべて「Yes」にすれば良いのですが表示されなくなる条件はありません。データ更新の有無やタイミングが不規則なのです。
「並列」アクティビティと言うものがありまして。。。
これはアクティビティの中に非同期に並列実行させるアクティビティで、左側にA処理、右側にポップアップメニューの処理と言うのが記載できます。
どちらかの処理が完了するまで並列アクティビティから次のアクティビティへ行けませんので、A処理は正常ルート、ポップアップメニューの処理はタイムアウトを短くして、エラー発生時jに処理を継続をTRUEに(ポップアップが出なくても、タイムアウトミリ秒経過しても正常として処理続行)してやる。。。
これを発生しそうな全てのアクティビティに施してあげるとか。。。?
なんとも頼りない回答です<m(__)m>
@mari_usagiさん こんにちは
ポップアップは全て同じですか?
もし同じならば、次の操作する前、アクティビティ「Element Exists」で判断して、あれば、「YES」を押す、なければ、正常処理します。
これはポップアップが出てくるのタイミングが調査することは必要です。
HANACCHI様、ご回答ありがとうございます。ポップアップメニューが同一場所に最高5回表示されるとしたら同じ条件の並列アクティビティを5つ作成するのでしょうか?続けて表示されば待機時間の調整で1つで良いのでしょうか?
ui-path-example様、ご回答ありがとうございます。
全く同じ表示ではなく3D_CADのソフトで「誰々がどこの部分を更新しました」「全データが更新されました」などで選択は「YES」だけなのですが。
@mari_usagiさん、
ポップアップ出るタイミングが分かりませんか?
例えば、入力して、フォーカス移動するタイミング?
メニュータブをクリックで選択した後に次のメニュー画面が表示される前です。
であれば、そのフォーカス移動するタイミングで、ポップアップメニューが表示されるかどうかを判定してやればいいですね。
ポップアップメニューが表示された時に、Find Elementアクティビティ辺りを使って、画面エレメントを取得。出力の要素((UIElement型)がNothing だったら表示されない処理にして。
その反対の条件では、OKボタンをクリックする。。。
サンプルをつくってみました。
Sequence1.xaml (9.8 KB)
- Parallelの中には、ポップアップのパターンの数だけElement Existsを配置し、それぞれに変数を設定
- Ifについても、Element Existsの数(=ポップアップのパターンの数)だけ並べて、クリックを処理
皆様 誠にありがとうございます。
私の基礎知識があまりにも低いため作成に時間がかかってしまうのですが
いただきましたサンプル、教えていただいた方法で再度作成致します。
とても助かりました。ありがとうございます。