From: SourceForge.net <no...@so...> - 2009-11-08 11:04:32
|
Bugs item #1743128, was opened at 2007-06-25 20:40 Message generated for change (Settings changed) made by wsfulton You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1743128&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: ruby Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Blakharaz (blakharaz) Assigned to: Gonzalo Garramuno (gga73) Summary: [ruby] Vector template doesn't work Initial Comment: When I use a vector template like %template(GameObjectVector) std::vector< rl::GameObject* >; in my code I just geht an exception when loading the DLL: #<NameError: undefined method `reject!' for class `RlScript::GameObjectVector'> The generated CXX file looks OK for my (uneducated) eyes. Maybe the exclamation mark doesn't work correctly. I use SWIG trunk from SVN (revision 9855). ---------------------------------------------------------------------- >Comment By: William Fulton (wsfulton) Date: 2009-11-08 11:04 Message: Please reopen and provide a standalone example demonstrating this issue if it still exists. ---------------------------------------------------------------------- Comment By: Blakharaz (blakharaz) Date: 2007-07-20 16:13 Message: Logged In: YES user_id=351113 Originator: YES Sorry, I missed your comment. My Code still doesn't work with latest revision from SVN. I didn't try your code yet, first I have some information about my GameObject class. This class is a director class and has a dynamic downcast. %apply SWIGTYPE *DYNAMIC { rl::GameObject * }; %feature("director") GameObject; class GameObject: public ObjectStateChangeEventSource { //... }; (see http://svn.berlios.de/svnroot/repos/dsa-hl/rl/trunk/engine/script/swig/RlRules.swig and http://svn.berlios.de/svnroot/repos/dsa-hl/rl/trunk/engine/script/swig/RlExports.i) ---------------------------------------------------------------------- Comment By: Gonzalo Garramuno (gga73) Date: 2007-06-25 21:49 Message: Logged In: YES user_id=961712 Originator: NO err.. that -LIBPATH:C:/ruby/lib was to be on the same line ( I hate web forms ). ---------------------------------------------------------------------- Comment By: Gonzalo Garramuno (gga73) Date: 2007-06-25 21:48 Message: Logged In: YES user_id=961712 Originator: NO Hmm... I'm unable to reproduce your problem. This works for me with latest SVN. Does this work for you? ---- crap.i ---- %module crap %include std_vector.i %inline %{ struct GameObj { }; %} %template(GameObjVector) std::vector< GameObj* >; ----- crap.i ---- >From a MSVC console: $ vcvars32.bat $ swig -c++ -ruby crap.i $ cl.exe -IC:/ruby/lib/ruby/1.8/i386-mswin32 -GR -EHsc crap_wrap.cxx -link -dll -LIBPATH:C:/ ruby/lib msvcrt-ruby18.lib -out:crap.dll $ irb irb> require 'crap' irb> Crap::GameObjVector.new => std::vector<GameObj *,std::allocator<GameObj * > > [] ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=1743128&group_id=1645 |