操作
機能 #1901
完了ポート名にコンポーネント名が付加されていない場合メッセージを出力する。
開始日:
2010/11/10
期日:
進捗率:
100%
予定工数:
説明
ポート名にコンポーネント名が付加されていない場合メッセージを出力する。(検討)
Subject: [openrtm-users 01473] add(In|Out)Port operate abnormally when called from constructor
Python版で遭遇した不具合についてレポートします。
ポートの登録を行う際に、onInitialize関数の中でadd(In|Out)Port関数を呼び出しますが、これを間違って__init__の中で
やってしまうと、ポートの登録がおかしくなります。
おそらく__init__が呼ばれる時点では、インスタンス名が確定していないからだと思いますが、例えばConsole0.rtcにoutという
ポートを登録しようと思うと、本来の「Console0.rtc.out」ではなく「.out」となってしまうようです。
対処が難しいようであれば、「__init__の時点ではadd(In|Out)Port関数を呼ばないこと」と決めてしまっても良いと思うのですが、
その場合でも、間違って呼び出された場合は、インスタンス名がセットされていない旨のエラーメッセージを出して欲しく思います。
操作