松坂様
安藤です
1.0からは、松坂さんがご推察の理由により、ポート関係の初期化関数や
登録関数はonInitialize()で呼ぶように変更いたしました。
エラーメッセージ関しては検討したいと思います。
よろしくお願いいたします。
2010年11月10日16:36 Yosuke Matsusaka :
> OpenRTM-aist開発者の皆様
>
> 産総研の松坂です。
>
> Python版で遭遇した不具合についてレポートします。
>
> ポートの登録を行う際に、onInitialize関数の中でadd(In|Out)Port関数を呼び出しますが、これを間違って__init__の中で
> やってしまうと、ポートの登録がおかしくなります。
>
> おそらく__init__が呼ばれる時点では、インスタンス名が確定していないからだと思いますが、例えばConsole0.rtcにoutという
> ポートを登録しようと思うと、本来の「Console0.rtc.out」ではなく「.out」となってしまうようです。
>
> 対処が難しいようであれば、「__init__の時点ではadd(In|Out)Port関数を呼ばないこと」と決めてしまっても良いと思うのですが、
> その場合でも、間違って呼び出された場合は、インスタンス名がセットされていない旨のエラーメッセージを出して欲しく思います。
>
> よろしくお願いします。
OpenRTM-aist開発者の皆様
産総研の松坂です。
Python版で遭遇した不具合についてレポートします。
ポートの登録を行う際に、onInitialize関数の中でadd(In|Out)Port関数を呼び出しますが、これを間違って__init__の中で
やってしまうと、ポートの登録がおかしくなります。
おそらく__init__が呼ばれる時点では、インスタンス名が確定していないからだと思いますが、例えばConsole0.rtcにoutという
ポートを登録しようと思うと、本来の「Console0.rtc.out」ではなく「.out」となってしまうようです。
対処が難しいようであれば、「__init__の時点ではadd(In|Out)Port関数を呼ばないこと」と決めてしまっても良いと思うのですが、
その場合でも、間違って呼び出された場合は、インスタンス名がセットされていない旨のエラーメッセージを出して欲しく思います。
よろしくお願いします。