[openrtm-users 03106] Re: OpenRTM-aist-1.1.1 ベータ版の公開について

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2014年 9月 16日 (火) 17:23:44 JST


服部様

おそらくおっしゃる通りにfactory->delete(m_eclist[i])を実効するべきでしょう。

でも、RTObjectが実効することではなくて、Managerがするべきだと思います。そのためのAPIを作ることが必要です。

ジェフ

2014-09-09 11:31 GMT+09:00 服部静子 <s.hattori @ aist.go.jp>:

> 産総研の服部です。
>
> version1.1.1をリポジトリのソースコードからLinuxにインストールして、使用しています。
>
> choreonoidで、シミュレーションを行っているのですが、コンポーネントの作成、削除を何度か繰り返すと、
> コンポーネントの作成時に、以下のようなエラーが起きます。
>
> choreonoid: ../../../src/lib/coil/include/coil/Factory.h:293:
> AbstractClass* coil::Factory<AbstractClass, Identifier, Compare, Creator,
> Destructor>::createObject(const Identifier&) [with AbstractClass =
> RTC::ExecutionContextBase; Identifier = std::basic_string<char>; Compare =
> std::less<std::basic_string<char> >; Creator = RTC::ExecutionContextBase*
> (*)(); Destructor = void (*)(RTC::ExecutionContextBase*&)]: アサーション
> `m_objects.count(obj) == 0' に失敗しました。
>
> RTObject.cppのソースコードを拝見しますと、
>
> ExecutionContextの作成時には
>
> ReturnCode_t RTObject_impl:: createContexts(std::vector<coil::Properties>&
> ec_args) の中で、
>
> ec =
> RTC::ExecutionContextFactory::instance().createObject(ec_type.c_str());
>
> としていますが、
>
> 削除時には
>
> void RTObject_impl::finalizeContexts() の中で、
>
> delete m_eclist[i];
>
> としています。
>
> これは、
> RTC::ExecutionContextFactory::instance().deleteObject(m_eclist[i]);
> としなくていいのでしょうか。
>
>
>
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20140916/a883526c/attachment.html>


More information about the openrtm-users mailing list