On 2/7/07, John Labenski <[EMAIL PROTECTED]> wrote: > The easiest thing to do is to merely add the *.cpp files to your > project (or apps/wxlua) and then recompile. I suppose you could build > your own lib, like wxbindstc for example and then link to that, but > adding the cpp files is much easier.
Great. I found that and it built! > You must call the init function to add the bindings to the lua > bindings. For example the wxStyledTextCtrl bindings uses this function > in modules/wxbindstc/include/wxbind.h > extern WXDLLIMPEXP_WXBINDSTC bool wxLuaBinding_wxstc_init(); > See also apps/wxlua/src/wxlua.cpp and search for this function. > > We tried hard to make this automatic, but different compilers made > this impossible to do. Too bad. This is awesome!!!! I can't believe I will be able to script our test software. > No problem, the bindings should be easy to do, but I'm sure that the > first time through things are not as clear as they could be. Was there > anything that should be added to the documentation binding.html file? Really the documentation was good at describing the functionality, but these emails with the "How-To" style and always an example are great. I guess what I am saying is see if you can give the general step-by-step for all the steps from start to finish. Plus I would not have known that wxLua had such a great framework for creating bindings. You should advertise this on your website. Along with in the documentation. It is really good. Also I don't know if you want to get into Lua internals on your website, but I still have know idea what the "wxlstate" is and its makeup, so some tutorials on interfacing C++ code and Lua would be greatly appreciated. If there are great links to already existing articles, maybe that could be all that tutorial shows. I have been to the Lua site and I think there documentation is written as a specification and I would love a more tutorial articles on the interface. OK another question. How do I call a function like this: Open() is the function I am wrapping and here is its documentation. /*! \param devname name of the interface, we want to open \param dcs a untyped pointer to a device control struct. If he is NULL, the default device parameter will be used. \return the new file descriptor, or -1 if an error occurred The pointer dcs will be used for special device dependent settings. Because this is very specific, the struct or destination of the pointer will be defined by every device itself. (For example: a serial device class should refer things like parity, word length and count of stop bits, a IEEE class adress and EOS character). */ Interface file: %class %delete %noclassinfo %encapsulate wxSerialPort, wxSerialPort_x wxSerialPort() // Serial port initilization ... int Open(const char* devname, void* dcs) ... %endclass Generated function: static int LUACALL wxLua_wxSerialPort_Open(lua_State *L) { wxLuaState wxlState(L); int returns; // void dcs void * dcs = (void *)wxlState.ttouserdata(3); // const char devname const char * devname = (const char *)wxlState.ttouserdata(2); // get this wxSerialPort * self = (wxSerialPort *)wxlState.GetUserDataType(1, s_wxluatag_wxSerialPort); // call Open returns = self->Open(devname, dcs); // push the result number lua_pushnumber(L, returns); return 1; } Using it in wxLua: -- device control struct for additional (and device specific -- settings) dcs = wxctb.wxSerialPort_DCS() -- dcs was initiate with 19200 1N8, but you can change -- these with your own settings dcs:SetBaud( baudrate ) dcs:SetWordLen( 8 ) dcs:SetParity( wxctb.wxPARITY_NONE ) dcs:SetStopBits( 1 ) -- Create the wxSerialPort variable. com = wxctb.wxSerialPort() -- try to open the given comport if ( com:Open( devname, dcs ) < 0 ) then -- <- this call fails everytime -- port is not available (wrong or in use) print( "An error occured when opening serial port \""..devname.."\"" ) return 1 end It keeps failing. I can call other functions that I have wrapped, but the reference to a class doesn't seem to work well for me, -- Regards, Ryan RJP Computing ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ wxlua-users mailing list wxlua-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxlua-users