プロジェクト

全般

プロフィール

バグ #878

CompositeComponentのデータポートを非公開に切り替える際のバグ

harumi14年以上前に追加. 約14年前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2009/08/19
期日:
進捗率:

100%

予定工数:

説明

CompositeComponentで、新たに公開したデータポートを非公開を切り替える際、指定したポートが変更できない。
その後もそのポートはエラー「更新できません」が表示され、変更できない。

エラーになる手順
① Compositeコンポーネントを起動しSystemDiagramにドラッグアンドドロップする。
② Wクリックで表示されるCompositeコンポーネントの中のシステムダイアグラムから非公開のポートをマウスで公開にする。
③ ②で公開したポートを右クリックで非公開にする。
   エラー→別のポート(最初から公開されていたポート)が非公開になる。
④ 再度、ポートを非公開に変更する。
   エラー→ エラー「更新できません」が表示され、マウスで変更できなくなる。

   ※デフォルトで公開されているポート→新たに公開したポート、の順で非公開にしないと
    このエラーが出ます。
   ※エラー「更新できません」が出た時は、一度SystemDiagramのCompositeComponentViewで
    すべて非公開に変更すると解決します。

エラーの出ない追加した公開を非公開にする手順
① 〃
② 〃
③ ②で公開にしたポートと同じ種類のデータポート(inかout)で、Sensor0・Mortor0のポートを非公開にする。
④ 追加したポートを非公開にする。

履歴

#1 匿名ユーザー が14年以上前に更新

  • ステータス新規 から 解決 に変更
  • 担当者匿名ユーザー にセット
  • 進捗率0 から 100 に変更

●原因
PortAdmin クラスでは、非公開時にポート名の"in","out"で判定している為、複数のInPort、OutPortが登録されていると、対象とするコンポーネントでないものをリストから削除していた。

●対処
非公開時にオブジェクトリファレンスで判定するよう修正した。

他言語も同一現象が出ており、同様の修正を以下のリビジョンで実施した。

  C++版:r1591
Python版:r157
 Java版:r235

#2 n-ando14年以上前に更新

  • ステータス解決 から 終了 に変更

#3 匿名ユーザー が約14年前に更新

他の形式にエクスポート: Atom PDF