掲示板一覧   -   トピック一覧
   EA API
     GUIでモデル編集しながらバッチ処理をしたい


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
nakapon
投稿日時: 2023-2-1 11:02
EA Administrator
投稿: 427

GUIでモデル編集しながらバッチ処理をしたい

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

○ご質問

GUIでモデルを編集しつつ、APIを利用してXMI出力やダイアグラムの画像出力を
バッチ処理(python)したいのですが、GUIを使っているインスタンスがバッチ処理
でも使用され、APIの Repository.CloseFile() でGUIも終了してしまいます。
GUIを終了せずにバッチ処理をする方法はないでしょうか。

・ソースサンプル
app = Dispatch('EA.App')
rep = app.Repository
rep.OpenFile('sample.qea')

<XMI出力・ダイアグラム画像出力の処理>

rep.CloseFile()
rep.Exit()
rep = None


○回答

Appオブジェクトは、実行中のインスタンスを取得するため
そのインスタンスで CloseFile() を実行すると
ご連絡の事象となります。

GUIと同一インスタンスで処理したい場合には
下記ヘルプに記載にように、Appオブジェクトが
Repositoryを保持していますので、OpenFile()せず、
App.Repositoryをご利用ください。

〇Appオブジェクト
https://www.sparxsystems.jp/help/16.0/app.html


GUIと異なるインスタンスで処理したい場合には
下記ヘルプをご覧ください。

〇サンプルとテクニック
https://www.sparxsystems.jp/help/16.0/codesamples.html
 ※主に「EAが終了しない場合」の項目になります。

ただし、新しいインスタンスを作成する場合には
複数人で同時利用している場合と同じ状態となりますので
拡張子をQEAからQEAXに変更してご利用ください。
(QEAXの場合には複数人での利用のための追加制御を行います)

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