[openrtm-users 02827] Re: findRTCmanagerに関する質問

Ando Noriaki n-ando @ aist.go.jp
2013年 6月 28日 (金) 20:39:34 JST


三宅さん

安藤です

> JSKの三宅です。
>
> 頂いたコードを少し修正して試しましたが、
> System.getProperties()のところで例外が出ました。
>
> こちらの環境では、jythonではなくてCpythonを使っているのですが、
> その場合はどのように書けば良いのでしょうか?

グローバル変数 orb に ORB の参照が代入されているようですので、
getProperites() を使わないでgetManagerDirectly()を以下のように書けばいいかもしれません。
# initCORBA() が実行されていることが前提です。

     def getManagerDirectly(hostname, mgr = None):
   global orb
       corbaloc = "corbaloc:iiop:" + hostname + "/manager"
       try:
         obj = orb.string_to_object(corbaloc)
         mgr = RTCmanager(ManagerHelper.narrow(obj))

> また、以下の、
> for h in hostnames:
>        if not CORBA.is_nil(getManagerDirectly(hostname, mgr)): return
> mgr   #getmanager -> getManager
>        if not CORBA.is_nil(getManagerFromNS(hostname, mgr)): return mgr
>
> については、hostname -> hに置き換えればよろしいでしょうか?

そうですね。for の中なので getManager*(h, mgr) じゃないとだめですね。
これらのif文は最初for文の外にあったのですが、修正し忘れです。すみません。


More information about the openrtm-users mailing list