Project

General

Profile

バグ #878

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

Added by harumi over 14 years ago. Updated about 14 years ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
-
Start date:
08/19/2009
Due date:
% Done:

100%

Estimated time:

Description

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

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

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

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

History

#1 Updated by Anonymous over 14 years ago

  • Status changed from 新規 to 解決
  • Assignee set to Anonymous
  • % Done changed from 0 to 100

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

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

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

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

#2 Updated by n-ando over 14 years ago

  • Status changed from 解決 to 終了

#3 Updated by Anonymous about 14 years ago

Also available in: Atom PDF