<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">服部様</span><br><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">おそらくおっしゃる通りにfactory->delete(m_eclist[i])を実効するべきでしょう。</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div>でも、RTObjectが実効することではなくて、Managerがするべきだと思います。そのためのAPIを作ることが必要です。</div><div><br></div><div>ジェフ</div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-09 11:31 GMT+09:00 服部静子 <span dir="ltr"><<a href="mailto:s.hattori@aist.go.jp" target="_blank">s.hattori@aist.go.jp</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>産総研の服部です。<br><br>version1.1.1をリポジトリのソースコードからLinuxにインストールして、使用しています。<br><br></div>choreonoidで、シミュレーションを行っているのですが、コンポーネントの作成、削除を何度か繰り返すと、<br>コンポーネントの作成時に、以下のようなエラーが起きます。<br><br>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' に失敗しました。<br><br></div>RTObject.cppのソースコードを拝見しますと、<br><div><div><br>ExecutionContextの作成時には<br><br>ReturnCode_t RTObject_impl:: createContexts(std::vector<coil::Properties>& ec_args)  の中で、<br><br>ec = RTC::ExecutionContextFactory::instance().createObject(ec_type.c_str());<br><br>としていますが、<br><div><div class="gmail_extra"><br>削除時には<br><br>void RTObject_impl::finalizeContexts()  の中で、<br><br>delete m_eclist[i];<br><br>としています。<br><br>これは、<br>RTC::ExecutionContextFactory::instance().deleteObject(m_eclist[i]);<br>としなくていいのでしょうか。<br><br><br></div></div></div></div></div>
<br>_______________________________________________<br>
openrtm-users mailing list<br>
<a href="mailto:openrtm-users@openrtm.org">openrtm-users@openrtm.org</a><br>
<a href="http://www.openrtm.org/mailman/listinfo/openrtm-users" target="_blank">http://www.openrtm.org/mailman/listinfo/openrtm-users</a><br>
<br></blockquote></div><br></div>