掲示板一覧   -   トピック一覧
   EA API
     シミュレーション機能とアドインの同期について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
umesan
投稿日時: 2018-5-8 13:59
EA Administrator
投稿: 1510

シミュレーション機能とアドインの同期について

サポート宛にいただきましたご質問の要約です。

○ご質問
アドインから「Repository.Simulation.Start()」を呼び出してシミュレーションを実行しています。しかし以下のコードをアドインで実行した場合、「シミュレーションデータの準備中」段階で「シミュレーション終了」と表示する動作となってしまっています。

-----アドイン内の処理の例-----
Repository.WriteOutput("シミュレーション", "シミュレーション開始", 0);
Repository.Simulation.Start();
Repository.WriteOutput("シミュレーション", "シミュレーション終了", 0);

アクティビティ図の開始から終了まで完了後、「シミュレーション終了」と表示する処理として実行させていと考えております。

「IsSimulatorRunning()」のAPIを使用しても想定の動作になりません。

○回答
弊社環境でさまざま試したところ、おそらく、お客様の状況は把握できたのではないかと思います。

頂きましたソースコードの処理を、おそらくアドインのイベント(EAから呼ばれるEA_MenuClick()などのメソッド)の中に記述されているのではないかと推測いたします。

EA側は、アドインのイベントの処理が終了するまで、他の処理が行えません。

ですので、アドインのイベントの処理の中で、「Simulation.Start()」が呼ばれた場合は、「Simulation.Start()」の中で「シミュレーションデータの準備」が終了するまで処理を行い、引き続きのシミュレーション動作はアドインのイベントの処理が終了してから、行うことになります。

上記のような状況のため、頂いたような動作となっているのではないかと推測いたします。
頂きましたコードの記述場所が、アドインのイベントの中でない場合は、再度ご連絡頂けますようお願いいたします。

また、弊社環境で試しましたところ、「Repository.Simulation.Start()」直後から「IsSimulatorRunning()」の値は true を戻しておりました。

以上ご確認よろしくお願い致します。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ