[openrtm-users 01473] add(In|Out)Port operate abnormally when called from constructor function in python version

Yosuke Matsusaka yosuke.matsusaka @ aist.go.jp
2010年 11月 10日 (水) 16:36:50 JST


OpenRTM-aist開発者の皆様

産総研の松坂です。

Python版で遭遇した不具合についてレポートします。

ポートの登録を行う際に、onInitialize関数の中でadd(In|Out)Port関数を呼び出しますが、これを間違って__init__の中で
やってしまうと、ポートの登録がおかしくなります。

おそらく__init__が呼ばれる時点では、インスタンス名が確定していないからだと思いますが、例えばConsole0.rtcにoutという
ポートを登録しようと思うと、本来の「Console0.rtc.out」ではなく「.out」となってしまうようです。

対処が難しいようであれば、「__init__の時点ではadd(In|Out)Port関数を呼ばないこと」と決めてしまっても良いと思うのですが、
その場合でも、間違って呼び出された場合は、インスタンス名がセットされていない旨のエラーメッセージを出して欲しく思います。

よろしくお願いします。

-- 
Yosuke Matsusaka, Ph.D  <yosuke.matsusaka @ aist.go.jp>
  Interaction Modeling Group /
  National Institute of Advanced Industrial Science and Technology (AIST)
  Tel: 029-862-6726  Web: http://staff.aist.go.jp/yosuke.matsusaka/



openrtm-users メーリングリストの案内