0

現在、WinActro6.3.0でシナリオを作成しています。

複数のシナリオを呼び出す制御用シナリオを作成しているのですが、

掲題の件を発見しましたので投稿いたしました。

制御用シナリオを「A」、呼び出される側のシナリオを「B」、「C」、「D」とします。

「B」、「C」、「D」には変数「ログ出力パス」の初期値が以下のように定義されています。

 「B」:bbb.log

 「C」:ccc.log

 「D」:ddd.log

まず「A」を実行して各シナリオについては「シナリオGoto」で遷移します。

各シナリオ共通で引き継ぎたい変数値があるので各シナリオの先頭で

「シナリオGoto 変数値引き継ぎ」を呼び出しています。

シナリオは「A」→「B」→「A」→「C」→「A」→「D」と遷移します。

※「A」が各シナリオを呼び出すかどうか等をチェックしたりしています

ログの出力は呼び出されたシナリオの設定毎にファイルを変更したいため

引き継がれないように「A」には変数「ログ出力パス」を定義していません。

想定では「B」→「A」で変数「ログ出力パス」の値は引き継がれないので

当然「A」→「C」でも変数「ログ出力パス」は引き継がれず

「C」についてはccc.logにログが出力されるはずでした。

ですが、「C」、「D」のログが全てbbb.logに出力されてしまいます。

この事象ですが私の想定が間違っているのでしょうか?

※ログの出力はWinActorのものではなく自作しています

ドキュメント等を見てみましたが引き継がれる条件等が詳細に書かれている訳でもなく

おそらく同じ変数の名前があれば引き継ぐのだろう…という感じですが

シナリオ間ではなく同じプロセス内ならずっと引き継ぐみたいな感じなのでしょうか…。

対応については引継ぎ情報をJSONに出力して独自に引き継ぎ処理を作ろうと

思っているのですが上記現象が勘違いか、もしくはWinActorの問題か等については

認識しておきたいと思っています。(教える側の立場にもなるため)

追記:

「A」→「B」→「A」→「C」→「A」→「D」と遷移する間に常に引き継ぎたい情報も

存在します。

healer 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。