操作
バグ #1499
完了Python用のコード生成で使用されるomniORBpyのバージョン
開始日:
2010/05/18
期日:
進捗率:
100%
予定工数:
説明
サービスポートを持つRTCのPython用のコード生成を行う場合、_GlobalIDL/__init__.py、_GlobalIDL__POA/__init__.pyの記述内容がomniORBpy-2系用になっている。
以下は、_GlobalIDL/__init__.pyの内容
# DO NOT EDIT THIS FILE! # # Python module _GlobalIDL generated by omniidl # ** 1. Stub files contributing to this module import MyService_idl # ** 2. Sub-modules # ** 3. End
自分の環境(omniORBpy-3.4)にて再度同じIDLファイルをomniidlにてIDLコンパイルした場合は、__init__.pyは下記のようになる。
# DO NOT EDIT THIS FILE! # # Python module _GlobalIDL__POA generated by omniidl import omniORB omniORB.updateModule("_GlobalIDL__POA") # ** 1. Stub files contributing to this module import MyService_idl # ** 2. Sub-modules # ** 3. End
(RTCBにて生成時に、omniORBpy-2.7のidlコンパイラが使用されている???)
omniORBpy-2系の__init__.pyでは、"MyService_idl"だけをimportするのに対し、omniORBpy-3系の__init__.pyでは、"omniORB.updateModule("_GlobalIDL__POA")というのが追加されているため、omniORBpy-3系がインストールされている環境では、RTCBで生成されたコードを実行するとエラーとなる。
[環境] OS: WindowsXP Eclipse: 3.4.2 Java: 1.6.0_17 RTSE,RTCB: dailybuild r114
操作