掲示板一覧 - トピック一覧 EA API モデルブラウザのパッケージ表示順とPackage.Packagesの順番が異なる |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | トピック |
---|---|
nakapon | 投稿日時: 2022-4-13 9:27 |
EA Administrator 投稿: 427 |
モデルブラウザのパッケージ表示順とPackage.Packagesの順番が異なるサポート宛てにいただきましたご指摘の要約です。
○ご指摘 APIでPackage.PackagesからPackageを1つずつ取得したところ モデルブラウザのパッケージ表示順と順番が異なることがありました。 (常に異なるわけではありません) ○回答 まず、前提としまして Package.Packagesの順番は、Packageの属性TreePos、Nameの順となります。 また、TreePosの基となるデータベースの値はt_package.Tposとなります。 ご送付いただいたサンプルプロジェクトのデータベース値を確認したところ ・Package1 → Tpos = 0 ・Package2 → Tpos = 空文字 となっておりました。 (APIのPackage.TreePosは上記いずれも0となりますのでご注意ください) 上記を基に調査したところ、モデルブラウザとPackage.Packagesで 順番を決めるときのTposの扱いが異なっているために ご連絡の現象が発生しているものと思われます。 ・モデルブラウザ → 0と空文字を同じ値として扱う ・Package.Packages → 0と空文字では空文字が優先される このようなデータが作成された理由としましては 以下の動作が関係しているものと思われます。 ・モデルブラウザでパッケージ作成 → Tpos = 空文字 ・APIでパッケージ作成 → Tpos = 0 また、モデルブラウザ上で「項目を上に移動」「項目を下に移動」を行なうと その移動による順番に関係するすべてのパッケージのTposが再計算され 更新されますので、現象が発生しなくなっている状況です。 この度はご不便をお掛けし申し訳ございません。 本件につきましては開発元に改善を依頼いたします。 開発元の今後の対応につきましては以下をご参照ください。 https://www.sparxsystems.jp/faq_support.htm#sup14 モデルブラウザ上で「項目を上に移動」「項目を下に移動」を行なう以外の 回避策としましては、Tposに0と空文字が混在する状態を解消する必要があります。 そのためPackage.Packagesを利用をする前に、以下の処理を行なってTposの値を 更新する方法がございます。 1.Package.Packagesで、Package.TreePos=0のデータに対して 再度Package.TreePos=0をセットする。 (t_package.Tpos=空文字 を無くすため) 2.Package.Packages.Refresh() で情報を再取得する 3.Package.Packagesから取得順にPackage.TreePosを 1からインクリメントでセットする もし上記方法をお試しになる場合には、念の為、プロジェクトファイルの バックアップをとってからお試しください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |