掲示板一覧   -   トピック一覧
   EA API
     プロジェクトルートの ObjectType


フラット表示 前のトピック | 次のトピック
投稿者 トピック
mogass
投稿日時: 2014-12-8 10:18
EA Administrator
投稿: 171

プロジェクトルートの ObjectType

サポートに頂きましたご質問と回答の要約です。

○ご質問

API の使用方法のついてご質問させて頂きます.

repository.GetContextItemType()

で,現在選択している項目の ObjectType を取得できるかと
思いますが,プロジェクトルートを選択しているときに,
同メソッドを実行すると,"otNone" が帰ってくるよう
なのですが(VS C# でデバッグ実行し確認),選択項目が
プロジェクトルートかどうかを判別するにはどうすれば良い
のでしょうか?ヘルプファイルには「otNoneは利用されて
いません。」という記述がなされていますし,プロジェクト
ルートは,特定の ObjectType を持っていないのでしょうか?
(otPackage か otModel と想像してましたが違うようなので)


○回答

プロジェクトブラウザ上でプロジェクトルートを選択している場合に、
repository.GetContextItemType()を実行した時の戻り値が、otNoneと
なっていることを確認致しました。

この場合、戻り値でotPackageが返されるのが正しい挙動かと
思われます。

この挙動は考慮漏れと思われますので、開発元に連絡し、
修正を依頼いたします。


現状ご利用のビルドでの回避方法につきましては、
以下のように判定していただければと思います。

○ repository.GetContextItemType()の戻り値がotNoneの場合は、
repository.GetTreeSelectedItemType()で再度確認。
(プロジェクトブラウザの選択がプロジェクトルートであれば、
otPackageが戻ります。)

○ 更にそのパッケージがプロジェクトルートかどうかは、
package.ParentIDが「0」か否か(0=親パッケージがない→ルート)
または、package.IsModelがtrueか否か(true=ルート)
で判定可能です。

ご参考になりましたら幸いです。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » プロジェクトルートの ObjectType mogass 2014-12-8 10:18