You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(60) |
Jul
(35) |
Aug
(32) |
Sep
(5) |
Oct
(5) |
Nov
(58) |
Dec
(34) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(114) |
Feb
(184) |
Mar
(153) |
Apr
(90) |
May
(153) |
Jun
(59) |
Jul
(24) |
Aug
(43) |
Sep
(17) |
Oct
(34) |
Nov
(11) |
Dec
(204) |
2007 |
Jan
(84) |
Feb
(119) |
Mar
(38) |
Apr
(28) |
May
(52) |
Jun
(105) |
Jul
(64) |
Aug
(67) |
Sep
(14) |
Oct
(3) |
Nov
(28) |
Dec
(55) |
2008 |
Jan
(228) |
Feb
(55) |
Mar
(30) |
Apr
(30) |
May
(15) |
Jun
(20) |
Jul
(12) |
Aug
(3) |
Sep
(13) |
Oct
(54) |
Nov
(35) |
Dec
(35) |
2009 |
Jan
(19) |
Feb
(20) |
Mar
(34) |
Apr
(4) |
May
(60) |
Jun
(25) |
Jul
(16) |
Aug
(51) |
Sep
(19) |
Oct
(62) |
Nov
(21) |
Dec
(12) |
2010 |
Jan
(1) |
Feb
|
Mar
(4) |
Apr
(12) |
May
(23) |
Jun
(13) |
Jul
(1) |
Aug
(40) |
Sep
(18) |
Oct
(21) |
Nov
(26) |
Dec
(34) |
2011 |
Jan
(17) |
Feb
(23) |
Mar
(1) |
Apr
(10) |
May
(1) |
Jun
(5) |
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(43) |
2012 |
Jan
(5) |
Feb
(19) |
Mar
(6) |
Apr
(24) |
May
(39) |
Jun
(83) |
Jul
(29) |
Aug
(36) |
Sep
(64) |
Oct
(55) |
Nov
(12) |
Dec
(7) |
2013 |
Jan
(17) |
Feb
(10) |
Mar
(37) |
Apr
(27) |
May
(13) |
Jun
(9) |
Jul
(7) |
Aug
(61) |
Sep
(23) |
Oct
(23) |
Nov
(30) |
Dec
(16) |
2014 |
Jan
(23) |
Feb
(13) |
Mar
(9) |
Apr
(17) |
May
(2) |
Jun
(11) |
Jul
(2) |
Aug
|
Sep
(9) |
Oct
(24) |
Nov
(2) |
Dec
(14) |
2015 |
Jan
(6) |
Feb
(4) |
Mar
(17) |
Apr
|
May
(7) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(21) |
Nov
(6) |
Dec
(2) |
2016 |
Jan
(4) |
Feb
(2) |
Mar
(7) |
Apr
(3) |
May
(11) |
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(4) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
(3) |
2
(2) |
3
(2) |
4
(3) |
5
(1) |
6
(3) |
7
(5) |
8
(2) |
9
(2) |
10
(4) |
11
(3) |
12
|
13
|
14
(1) |
15
(1) |
16
(2) |
17
|
18
|
19
|
20
|
21
(2) |
22
|
23
|
24
(1) |
25
|
26
|
27
(2) |
28
(2) |
29
(1) |
30
(1) |
31
|
|
|
From: John L. <jla...@gm...> - 2006-08-28 15:29:25
|
On 8/28/06, hel...@gm... <hel...@gm...> wrote: > is it by design, that during pre-compilation the existence of funtions (or the correctness of function names) is not checked? > > Any mistyped function name is just discovered at runtime and leads to a "error running chunk" message. > > I would rather expect that the function names are checked sooner, so that any mistyped function (not declared or defined with RegisterFunction) is reported during pre-compilation. I do not think that this is possible or would be overly complicated. In fact lua itself doesn't do this itself. However if you know how please suggest a way to do this. There was a lua lint program somewhere that may be useful. Try this simple program: a = math.sin(1) b = math.si(2) $ ./lua5.1.exe precomp_test.lua d:\wxCVS\wxLua\wxLua\bin\lua5.1.exe: precomp_test.lua:2: attempt to call field 'si' (a nil value) stack traceback: precomp_test.lua:2: in main chunk [C]: ? It doesn't check that I've mistyped "math.sin" for line 2 until it's run. However try this: a = math.sin(1) b = 1math.si(2) $ ./lua5.1.exe precomp_test.lua d:\wxCVS\wxLua\wxLua\bin\lua5.1.exe: precomp_test.lua:2: malformed number near '1math' It does check for gross syntax errors. Regards, John Labenski |
From: <hel...@gm...> - 2006-08-28 14:05:34
|
Hello, is it by design, that during pre-compilation the existence of funtions (or the correctness of function names) is not checked? Any mistyped function name is just discovered at runtime and leads to a "error running chunk" message. I would rather expect that the function names are checked sooner, so that any mistyped function (not declared or defined with RegisterFunction) is reported during pre-compilation. Yours, Helmut |
From: John L. <jla...@gm...> - 2006-08-27 15:29:32
|
On 8/27/06, msh...@ya... <msh...@ya...> wrote: > > I am trying to make a easiest way to implement virtual method. Something like > wxLuaPrintout of howto override HasPage() etc.. method, but actually I did not quite get it > the how (as it touches some HasDerivedMethod() and some tag definition which I do not > have time to look at it yet). Is there a fast explanation and howto step, to do it? > It's fairly easy, but maybe not so obvious. The binding files (*.i) just contain the functions as for any other class, don't be fooled by wxLuaPrintout seemingly not having any functions, they are defined in the base wxPrintout binding. The c++ class has to implement the code to check to see if there is a lua function overriding it. See modules/wxbind/src/wxlprint.cpp for some examples. Note that we've decided to add a ref counted wxLuaState to the c++ class and then have to override the constructor, see bindings/wxwidgets/overrides.cpp wxLua_wxLuaPrintout_constructor instead of trying to lookup what lua_State we're coming from on the fly each time a function is called. Once inside the c++ function, see any of the wxLuaPrintout functions, you handle the args and do whatever is necessary then always call SetCallBaseClassFunction(false), otherwise you'll get recursion, if you call base_SOMEFUNCNAME() you always should get the base class function. If you can think of a way to automate this a little better that'd be great. There is one change I've been meaning to make however, we need a way to make naming wxLuaPrintout just wxPrintout in lua since the lua code doesn't need to know or care that it's really a wxLuaPrintout. Hope this helps, John Labenski |
From: <msh...@ya...> - 2006-08-27 10:22:37
|
Hi everyone, I am trying to make a easiest way to implement virtual method. Something like wxLuaPrintout of howto override HasPage() etc.. method, but actually I did not quite get it the how (as it touches some HasDerivedMethod() and some tag definition which I do not have time to look at it yet). Is there a fast explanation and howto step, to do it? Thanks in advance. |
From: John L. <jla...@gm...> - 2006-08-21 19:36:34
|
On 8/21/06, hel...@gm... <hel...@gm...> wrote: > is there a way to let (wx)Lua check the script syntax and report possible errors, without running the script if it's error-free? > > Just think of a script editor, which might have a button "Check syntax", but you don't want the script to run actually. Yes, you can use wxLuaState::CompileString/Buffer to do this. Regards, John Labenski |
From: <hel...@gm...> - 2006-08-21 08:41:56
|
Hello, is there a way to let (wx)Lua check the script syntax and report possible errors, without running the script if it's error-free? Just think of a script editor, which might have a button "Check syntax", but you don't want the script to run actually. Yours, Helmut |
From: John L. <jla...@gm...> - 2006-08-16 21:53:16
|
On 8/16/06, hel...@gm... <hel...@gm...> wrote: > Hello, > one more question on wxLua in a multi-threading application (several threads should host their own Lua instance). > I create a wxLuaState object for every thread and use RunFile to execute the script. > After calling "RunFile" I loose control and have to wait until the script ends. > Is there a possibility to abort the script execution by the hosting application/thread? Maybe by sending an event or something to wxLua? Try using wxLuaState::SetDebugHookBreak or at least see the code in modules/wxlua/wxlstate.cpp which sets the debug hook function to wxLua_lua_debugHookFunction which you can use as a template of how to jump into a lua program while it's running. Just replace the code in wxLuaState::SetDebugHookBreak to have the lua_State hook into your own debug function. I am not too familiar with coroutines, but these might also be helpful. Regards, John Labenski |
From: <hel...@gm...> - 2006-08-16 11:31:05
|
Hello, one more question on wxLua in a multi-threading application (several threads should host their own Lua instance). I create a wxLuaState object for every thread and use RunFile to execute the script. After calling "RunFile" I loose control and have to wait until the script ends. Is there a possibility to abort the script execution by the hosting application/thread? Maybe by sending an event or something to wxLua? @John Labenski: Thank you for your response to my question "Multiple Lua instances in multi-threading app", it made sense, indeed :-) Yours, Helmut |
From: John L. <jla...@gm...> - 2006-08-14 14:31:24
|
On 8/11/06, klaas.holwerda <kho...@xs...> wrote: > John Labenski wrote: > > > > > > I do like it, but it has to be implemented. The only problem is when > > to find the time. :( > > > I see, same problem here with wxArt2D :-( > But knowing that Francesco is very far with a wxWindows package > tool, i think it will eventually be organized that way. > At least i can not imagine packages working properly without a good > naming convention for the generated libraries. > > So maybe you should just wait a little in this case, until wxPm is out? > I have the feeling this is what Francesco has in mind for wxCode ;-) Ok, we'll wait Thanks, John Labenski |
From: klaas.holwerda <kho...@xs...> - 2006-08-11 22:07:17
|
John Labenski wrote: > > > I do like it, but it has to be implemented. The only problem is when > to find the time. :( > I see, same problem here with wxArt2D :-( But knowing that Francesco is very far with a wxWindows package tool, i think it will eventually be organized that way. At least i can not imagine packages working properly without a good naming convention for the generated libraries. So maybe you should just wait a little in this case, until wxPm is out? I have the feeling this is what Francesco has in mind for wxCode ;-) regards, Klaas |
From: John L. <jla...@gm...> - 2006-08-11 19:27:00
|
On 8/11/06, Klaas Holwerda <db...@nl...> wrote: > Hi John, > > John Labenski wrote: > Unfortunately we > > need a nice way to systematically name the libs uniformly, ideally > > using the exact same syntax for the build settings that wxWidgets > > uses. (I have asked about that on wx-dev years ago, but the need for > > this fell on deaf ears unfortunately) I think that we (I and other > > wxCode people) should add this naming ability to our bakefiles, but > > I'm not sure how to go about just yet. > > I find the way the wxlua libs are named rather nice. And i thought the > idea is to have it the way wxwidgets does it. Only wxlua in front of it. > We discussed this when the whole bakefile stuff started fro wxLua. > Why not use the same for stedit or any other wxCode project? Do you not > like it? I do like it, but it has to be implemented. The only problem is when to find the time. :( Regards, John Labenski |
From: Klaas H. <db...@nl...> - 2006-08-11 10:18:06
|
Hi John, John Labenski wrote: Unfortunately we > need a nice way to systematically name the libs uniformly, ideally > using the exact same syntax for the build settings that wxWidgets > uses. (I have asked about that on wx-dev years ago, but the need for > this fell on deaf ears unfortunately) I think that we (I and other > wxCode people) should add this naming ability to our bakefiles, but > I'm not sure how to go about just yet. I find the way the wxlua libs are named rather nice. And i thought the idea is to have it the way wxwidgets does it. Only wxlua in front of it. We discussed this when the whole bakefile stuff started fro wxLua. Why not use the same for stedit or any other wxCode project? Do you not like it? Klaas -- Unclassified |
From: John L. <jla...@gm...> - 2006-08-10 20:02:08
|
On 8/10/06, Doug Currie <dou...@gm...> wrote: > I just tested my conjecture, and adding the line: > > #include <wx/wx.h> > > in the configure script here: > > /* end confdefs.h. */ > #include <wx/wx.h> > #include <wx/stedit/stedit.h> > > works for me. Yes this has already been fixed in the CVS version of wxStEdit. I will also adjust the configure script to #include "wx/wx.h" just to be sure. Additionally I am trying to get configure to work a little more seamlessly and have added some hacks so that you can specify the wxstedit path and the actual lib to link against. Unfortunately we need a nice way to systematically name the libs uniformly, ideally using the exact same syntax for the build settings that wxWidgets uses. (I have asked about that on wx-dev years ago, but the need for this fell on deaf ears unfortunately) I think that we (I and other wxCode people) should add this naming ability to our bakefiles, but I'm not sure how to go about just yet. I'm still trying to get the configure working properly. If you're using Linux, you might want to just use the Makefiles in the src dirs, where the ones in the apps dirs will automatically build whatever that app needs. These Makefiles use wx-config and are fairly simple to understand, they output the libs to the "wx-config --exec-prefix" dir so that must be writable. The apps themselves are just compiled to the src dir you're building from. I will try to work some more on configure as I have not tried it before a few days ago, unfortunately Francesco is away for the next couple weeks and we use a modified version of Bakefile so some of the changes they might need to be made can't be done properly until we get the bakefiles redone. Sorry about the problems, hopefully I can get it sorted out fairly quickly John Labenski > > Thursday, August 10, 2006, 8:49:59 AM, Doug Currie wrote: > > > Thursday, August 10, 2006, 6:19:40 AM, Klaas Holwerda wrote: > > >> [...] > > >> BUT when configuring wxLua, it did not find wxstedit correctly. > >> I did also install the lattest wxstedit. And lloked in /usr/local/lib/, > >> and there is see libstedit.a and libsteditd.a which is gooed i think. > >> I did find stedit.h in /usr/local/include/wx/stedit/ > > > This is the same problem I had with a `configure` based build with > > mingw/msys on Windows. > > >> [...] > > >> /usr/local/include/wx/stedit/stedit.h:18: error: aggregate 'WXDLLEXPORT > >> wxMenu' has incomplete type and cannot be defined > > > The configure script seems to be using > > > #include <wx/stedit/stedit.h> > > > in a generated c file to see if the version of wxStEdit is OK. But > > stedit.h needs to have some other headers included (wx.h?) to compile > > properly. > > > e > > -- > Doug Currie > Londonderry, NH > > > ------------------------------------------------------------------------- > 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 > Wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: Doug C. <dou...@gm...> - 2006-08-10 13:09:41
|
I just tested my conjecture, and adding the line: #include <wx/wx.h> in the configure script here: /* end confdefs.h. */ #include <wx/wx.h> #include <wx/stedit/stedit.h> works for me. e Thursday, August 10, 2006, 8:49:59 AM, Doug Currie wrote: > Thursday, August 10, 2006, 6:19:40 AM, Klaas Holwerda wrote: >> [...] >> BUT when configuring wxLua, it did not find wxstedit correctly. >> I did also install the lattest wxstedit. And lloked in /usr/local/lib/, >> and there is see libstedit.a and libsteditd.a which is gooed i think. >> I did find stedit.h in /usr/local/include/wx/stedit/ > This is the same problem I had with a `configure` based build with > mingw/msys on Windows. >> [...] >> /usr/local/include/wx/stedit/stedit.h:18: error: aggregate 'WXDLLEXPORT >> wxMenu' has incomplete type and cannot be defined > The configure script seems to be using > #include <wx/stedit/stedit.h> > in a generated c file to see if the version of wxStEdit is OK. But > stedit.h needs to have some other headers included (wx.h?) to compile > properly. > e -- Doug Currie Londonderry, NH |
From: Doug C. <dou...@gm...> - 2006-08-10 12:50:01
|
Thursday, August 10, 2006, 6:19:40 AM, Klaas Holwerda wrote: > [...] > BUT when configuring wxLua, it did not find wxstedit correctly. > I did also install the lattest wxstedit. And lloked in /usr/local/lib/, > and there is see libstedit.a and libsteditd.a which is gooed i think. > I did find stedit.h in /usr/local/include/wx/stedit/ This is the same problem I had with a `configure` based build with mingw/msys on Windows. > [...] > /usr/local/include/wx/stedit/stedit.h:18: error: aggregate 'WXDLLEXPORT > wxMenu' has incomplete type and cannot be defined The configure script seems to be using #include <wx/stedit/stedit.h> in a generated c file to see if the version of wxStEdit is OK. But stedit.h needs to have some other headers included (wx.h?) to compile properly. e -- Doug Currie Londonderry, NH |
From: Klaas H. <db...@nl...> - 2006-08-10 10:20:25
|
Hi John, Updating to the latest version of wxLua solved it. Actually it is the first time i get my app working with wxLua on Linux. (with the older version i had still static initialization problems). So things go very well. BUT when configuring wxLua, it did not find wxstedit correctly. I did also install the lattest wxstedit. And lloked in /usr/local/lib/, and there is see libstedit.a and libsteditd.a which is gooed i think. I did find stedit.h in /usr/local/include/wx/stedit/ So all fine i think. Therefore i went to see in config.log, why configure did not find wxstedit. And there i see things like this: configure:4959: checking if wxStEdit (version >= 1.2.0) is available configure:4994: g++ -o conftest -g3 -O0 -Wall -Wundef -Wno-ctor-dtor-privacy -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA conftest.cc -lstedit -L/usr/local/lib -pthread -L/usr/X11R6/lib /usr/local/lib/libwx_gtk2d_stc-2.6.a /usr/local/lib/libwx_gtk2d_xrc-2.6.a /usr/local/lib/libwx_gtk2d_html-2.6.a /usr/local/lib/libwx_gtk2d_adv-2.6.a /usr/local/lib/libwx_based_net-2.6.a /usr/local/lib/libwx_based_xml-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a -lexpat -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm >&5 /usr/local/include/wx/stedit/stedit.h:18: error: aggregate 'WXDLLEXPORT wxMenu' has incomplete type and cannot be defined /usr/local/include/wx/stedit/stedit.h:19: error: aggregate 'WXDLLEXPORT wxKeyEvent' has incomplete type and cannot be defined /usr/local/include/wx/stedit/stedit.h:20: error: aggregate 'WXDLLEXPORT wxFindDialogEvent' has incomplete type and cannot be defined /usr/local/include/wx/stedit/stedit.h:21: error: aggregate 'WXDLLEXPORT wxToolBar' has incomplete type and cannot be defined /usr/local/include/wx/stedit/stedit.h:22: error: aggregate 'WXDLLEXPORT wxConfigBase' has incomplete type and cannot be defined /usr/local/include/wx/stedit/stedit.h:23: error: aggregate 'WXDLLEXPORT wxFileHistory' has incomplete type and cannot be defined /usr/local/include/wx-2.6/wx/event.h:1352: error: 'wxMenu' is not a type /usr/local/include/wx-2.6/wx/event.h:1366: error: expected ';' before '*' token /usr/local/include/wx-2.6/wx/event.h:1368: error: expected `;' before 'virtual' /usr/local/include/wx-2.6/wx/event.h:1372: error: expected ';' before '*' token /usr/local/include/wx-2.6/wx/event.h: In constructor 'wxMenuEvent::wxMenuEvent(wxEventType, int, int*)': /usr/local/include/wx-2.6/wx/event.h:1354: error: 'm_menu' was not declared in this scope /usr/local/include/wx-2.6/wx/event.h: In copy constructor 'wxMenuEvent::wxMenuEvent(const wxMenuEvent&)': /usr/local/include/wx-2.6/wx/event.h:1357: error: 'm_menu' was not declared in this scope /usr/local/include/wx-2.6/wx/event.h:1357: error: 'const class wxMenuEvent' has no member named 'm_menu' /usr/local/include/wx-2.6/wx/event.h: At global scope: /usr/local/include/wx-2.6/wx/event.h:2508: error: cannot declare pointer to 'void' member /usr/local/include/wx-2.6/wx/event.h:2508: error: typedef 'wxCharEventFunction' is initialized (use __typeof__ instead) /usr/local/include/wx-2.6/wx/event.h:2508: error: expected primary-expression before ')' token /usr/local/include/wx-2.6/wx/generic/accel.h:51: error: expected ',' or '...' before '&' token /usr/local/include/wx-2.6/wx/generic/accel.h:52: error: expected ',' or '...' before '&' token And in the end of course: configure:5000: $? = 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "wxLua" | #define PACKAGE_TARNAME "wxlua" | #define PACKAGE_VERSION "0" | #define PACKAGE_STRING "wxLua 0" | #define PACKAGE_BUGREPORT "fr...@us..." | #ifdef __cplusplus | extern "C" void std::exit (int) throw (); using std::exit; | #endif | /* end confdefs.h. */ | #include <wx/stedit/stedit.h> | int | main () | { | | wxSTEditor dummy; | | // version check | #if defined(STE_MAJOR_VERSION) && defined(STE_MINOR_VERSION) && defined(STE_RELEASE_VERSION) | #if (STE_MAJOR_VERSION > (1) || (STE_MAJOR_VERSION == (1) && STE_MINOR_VERSION > (2)) || (STE_MAJOR_VERSION == (1) && STE_MINOR_VERSION == (2) && STE_RELEASE_VERSION >= (0))) | // this component is recent enough | #else | #error wxStEdit is too old ! At least version 1.2.0 is required | #endif | #else | #error wxStEdit does not define its version symbols STE_MAJOR_VERSION, STE_MINOR_VERSION, STE_RELEASE_VERSION | #endif | | ; | return 0; | } | Is this also my fault, or is something wrong? Thanks, Klaas John Labenski wrote: > > >>I find it hard to believe myself, but checking it again it looks like >>there is a difference here?? >>Do you have a switch somewhere in the binding generator? > > > No difference between platforms and no switch. > -- Unclassified |
From: John L. <jla...@gm...> - 2006-08-09 22:15:41
|
On 8/9/06, he...@gm... <he...@gm...> wrote: > Hello, > I'd like to use wxLua in a multi-threading application, several threads should host their own Lua instance. > The Lua instances should run independent from the others, not sharing anything. > So I create a wxLuaState object for every thread and use RunFile to execute the script. No problems, except that any GUI functions MUST be made from the main thread. This is a limitation of wxWidgets due to the underlying gui system which is true for pure C++ code as well.. > But: I also want to use own functions (published through RegisterFunction) and I can't manage to get them independent. > I would have to declare them in a global scope (or as static member functions), both would lead to a common function > implementation which is called from all threads. But I want to have them separate, to avoid any interference between the Lua threads. > > Can anybody give me a hint how to do this? I think you're wondering how to have the underlying C function independent for each thread since each wxLuaState::RegisterFunction(...) call for a given lua state pushes the function independently into the lua_State already. Simple case: Just have multiple C functions if you'll only have a small known number of them. More complicated: I am not very well versed in C threading, but I believe that you will have to have mutexes (and/or conditions?) for each wxLuaState you create (maybe a wxList mapping between the lua_State of the wxLuaState and it's mutexes, keyed on the memory location of the lua_State?), then look up from within the C function which lua_State is "active" and do the mutex thing in there. In other words lua doesn't know about the threading and the C functions handle it all internally. I hope this makes some sort of sense, John Labenski |
From: <he...@gm...> - 2006-08-09 14:29:24
|
Hello, I'd like to use wxLua in a multi-threading application, several threads should host their own Lua instance. The Lua instances should run independent from the others, not sharing anything. So I create a wxLuaState object for every thread and use RunFile to execute the script. But: I also want to use own functions (published through RegisterFunction) and I can't manage to get them independent. I would have to declare them in a global scope (or as static member functions), both would lead to a common function implementation which is called from all threads. But I want to have them separate, to avoid any interference between the Lua threads. Can anybody give me a hint how to do this? Yours, Helmut |
From: John L. <jla...@gm...> - 2006-08-08 22:52:26
|
On 8/7/06, Doug Currie <dou...@gm...> wrote: > Monday, August 7, 2006, 5:13:59 PM, John Labenski wrote: > > > On 8/6/06, Doug Currie <dou...@gm...> wrote: > >> Here are some things I did to build > >> wxLua_Snapshot_2006-08-04.tar.gz > >> on Windows XP using mingw/msys. [...] > > >[...] I'm still trying to get the apps to compile. so I'll look into the resource problems tomorrow. > >> 6. in {my-build}/apps/Makefile add -lws2_32 to WX_LIBS > > > I'll see what happens for me, see #3. > > I noted that when I later did a build against a static wxWidgets, > $ wx-config --libs > included -lwsock32 > ...dunno why it was a problem with the DLL version of wxWidgets. > > $ wx-config --static=no --libs > -L/usr/local/lib -mthreads -Wl,--subsystem,windows -mwindows > -lwx_mswu_xrc-2.6 -lwx_mswu_qa-2.6 -lwx_mswu_html-2.6 > -lwx_mswu_adv-2.6 -lwx_mswu_core-2.6 -lwx_baseu_xml-2.6 > -lwx_baseu_net-2.6 -lwx_baseu-2.6 > > $ wx-config --static=yes --libs > -L/usr/local/lib -mthreads -Wl,--subsystem,windows -mwindows > /usr/local/lib/libwx_mswu_xrc-2.6.a /usr/local/lib/libwx_mswu_qa-2.6.a > /usr/local/lib/libwx_mswu_html-2.6.a > /usr/local/lib/libwx_mswu_adv-2.6.a > /usr/local/lib/libwx_mswu_core-2.6.a > /usr/local/lib/libwx_baseu_xml-2.6.a > /usr/local/lib/libwx_baseu_net-2.6.a /usr/local/lib/libwx_baseu-2.6.a > -lwxregexu-2.6 -lwxexpat-2.6 -lwxtiff-2.6 -lwxjpeg-2.6 -lwxpng-2.6 -lz > -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 > -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 > > So, this looks like a wxWindows build issue. Humm, I don't get the libs in static, see below. I build wxWidgets 2.6.3.3 (cvs head of 2.6 branch) using this ../configure \ --prefix=/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win \ --enable-optimise=no \ --enable-debug=yes \ --enable-debug_gdb=yes \ --enable-mem_tracing=no \ --enable-profile=no \ --with-dmalloc=no \ --enable-prologio=no \ --enable-shared=no ### ALSO THIS TOO $ wx-config --list Default config is msw-ansi-debug-2.6 #NOTE: I've also done static too... $ wx-config --cxxflags -I/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win/lib/wx/include/msw-ansi-debug-2.6 -I/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/include -I/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/contrib/include -D__WXDEBUG__ -D__WIN95__ -D__WXMSW__ -DWXUSINGDLL=1 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES $ ./wx-config --libs --static=yes -L/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_mswd_xrc-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_mswd_qa-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_mswd_html-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_mswd_adv-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_mswd_core-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_based_xml-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_based_net-2.6.a /mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win_static/lib/libwx_based-2.6.a -lpng -ljpeg -ltiff -lexpat -lz -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lkernel32 -luser32 $ wx-config --libs --static=no -L/mnt/d/wxCVS/wxWidgets/wxWidgets_26/wxWidgets/config_win/lib -lwx_mswd_xrc-2.6 -lwx_mswd_qa-2.6 -lwx_mswd_html-2.6 -lwx_mswd_adv-2.6 -lwx_mswd_core-2.6 -lwx_based_xml-2.6 -lwx_based_net-2.6 -lwx_based-2.6 So I had to paste the libs you had above into the Makefile in the modules dir. "-lz -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32" ====== This does seem like a bug in the wx-config script for gcc in windows, I'lll submit a bug report to wxWidgets tomorrow. > > Thanks for your work, I'll see what I get for #3, 4, 5, 6, 7, 8 in > > cygwin. Still trying to get it going > > Is gcc in cygwin the same as the mingw you use? > It should be close. > > $ gcc --version > gcc.exe (GCC) 3.4.5 (mingw special) > Copyright (C) 2004 Free Software Foundation, Inc. $ gcc --version gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) Fairly close, but __MINGW32__ is not defined, __GNUWIN32__ is though. =============== Ok, well this will take a little doing, but gcc in MSW seems fairly nice and I'd like to get it working. Regards, John Labenski |
From: John L. <jla...@gm...> - 2006-08-08 21:21:52
|
On 8/7/06, John Labenski <jla...@gm...> wrote: > > 2. in modules/wxluadebug/src/splttree.cpp add: > > > > #ifdef __MINGW32__ > > #undef UNREFERENCED_PARAMETER > > #endif > > > > after includes and before: > > > > static wxTreeItemId defaultTreeItemId; > > Added. The error is really just from the line wxDC operator = &wxDC is private? I've removed the above #undef and just remmed out the line UNREFERENCED_PARAMETER(dc);. -John Labenski |
From: Doug C. <dou...@gm...> - 2006-08-07 22:35:05
|
Monday, August 7, 2006, 5:13:59 PM, John Labenski wrote: > On 8/6/06, Doug Currie <dou...@gm...> wrote: >> Here are some things I did to build >> wxLua_Snapshot_2006-08-04.tar.gz >> on Windows XP using mingw/msys. [...] >[...] >> 4. in {my-build}/apps/Makefile change: >> >> WX_RESCOMP = >> >> to: >> >> WX_RESCOMP = windres --include-dir /usr/local/include/wx-2.6 > We can't hardcode any paths here. I don't know how to fix this, but I > would think that the wx-config script should provide the proper paths. Maybe. --cflags has it, but you'd need to extract it somehow. $ wx-config --cflags -I/usr/local/lib/wx/include/msw-unicode-release-static-2.6 -I/usr/local/include/wx-2.6 -D__WXMSW__ -mthreads -DNO_GCC_PRAGMA Well, $ wx-config --release 2.6 So, maybe: WXPREFIX = $(shell $(WXCONFIG) --prefix) WXRELEASE = $(shell $(WXCONFIG) --release) WX_RESCOMP = windres --include-dir $(WXPREFIX)/include/wx-$(WXRELEASE) Pretty ugly. >> 5. in apps/wxlua/src/wxlua.rc remove "..\\" from icon > This is what it currently is (below), which is correct for the > apps/wxlua/src dir path. What are you suggesting? my files () need, e.g., for apps\wxlua\src\wxlua.rc lua ICON "..\\..\\art\\wxlua.ico" to build without error. This is because the congig generated makefile is in wxLua\my-build\apps\Makefile whereas the hardcoded makefile is in wxLua\apps\wxlua\src\Makefile one level deeper. >> 6. in {my-build}/apps/Makefile add -lws2_32 to WX_LIBS > I'll see what happens for me, see #3. I noted that when I later did a build against a static wxWidgets, $ wx-config --libs included -lwsock32 ...dunno why it was a problem with the DLL version of wxWidgets. $ wx-config --static=no --libs -L/usr/local/lib -mthreads -Wl,--subsystem,windows -mwindows -lwx_mswu_xrc-2.6 -lwx_mswu_qa-2.6 -lwx_mswu_html-2.6 -lwx_mswu_adv-2.6 -lwx_mswu_core-2.6 -lwx_baseu_xml-2.6 -lwx_baseu_net-2.6 -lwx_baseu-2.6 $ wx-config --static=yes --libs -L/usr/local/lib -mthreads -Wl,--subsystem,windows -mwindows /usr/local/lib/libwx_mswu_xrc-2.6.a /usr/local/lib/libwx_mswu_qa-2.6.a /usr/local/lib/libwx_mswu_html-2.6.a /usr/local/lib/libwx_mswu_adv-2.6.a /usr/local/lib/libwx_mswu_core-2.6.a /usr/local/lib/libwx_baseu_xml-2.6.a /usr/local/lib/libwx_baseu_net-2.6.a /usr/local/lib/libwx_baseu-2.6.a -lwxregexu-2.6 -lwxexpat-2.6 -lwxtiff-2.6 -lwxjpeg-2.6 -lwxpng-2.6 -lz -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 So, this looks like a wxWindows build issue. > Thanks for your work, I'll see what I get for #3, 4, 5, 6, 7, 8 in > cygwin. You're welcome. Thank you for your work! > Is gcc in cygwin the same as the mingw you use? It should be close. $ gcc --version gcc.exe (GCC) 3.4.5 (mingw special) Copyright (C) 2004 Free Software Foundation, Inc. Regards, e -- Doug Currie Londonderry, NH |
From: John L. <jla...@gm...> - 2006-08-07 21:14:01
|
On 8/6/06, Doug Currie <dou...@gm...> wrote: > Here are some things I did to build wxLua_Snapshot_2006-08-04.tar.gz > on Windows XP using mingw/msys. I don't pretend that these are the > "right" fixes for wxLua sources. Many are to generated files rather > than source files -- done out of ignorance of the full build process. > Others may interfere with successful builds with other tools or on > different targets. I am reporting them to help those attempting to > build with mingw/msys; maybe the authors/maintainers will find them > useful as well. > > I started with an installed wxWidgets 2.6.3 and wxstedit 1.2.1. I > extracted wxLua_Snapshot_2006-08-04.tar.gz and did a > $ ../configure --disable-debug --enable-shared --enable-unicode --enable-wxluaedit-app > > configure was unable to find wxstedit; apparently the method the > configure script uses to find wxstedit is not meant for Windows, it > seems to mess up with WXDLLEXPORT. Ignoring that, I did a make. It > proceeds for a while and then fails to compile wx_bind.cpp (this has > been reported earlier on this list as a bug in mingw's gcc 3.4.x). Use the environment variable WXSTEDIT=c:\...\wxstedit You do have to copy the stedit.lib by hand to the wxLua/lib/xxx lib dir. > 1. hack wx_bind.cpp after make chokes on it inserting these lines: > > #ifdef __MINGW32__ > const wxPoint wxDefaultPositionHack = wxDefaultPosition; > const wxSize wxDefaultSizeHack = wxDefaultSize; > #define wxDefaultPosition wxDefaultPositionHack > #define wxDefaultSize wxDefaultSizeHack > #endif > > before: > > WXLUAOBJECT* wxLuaGetObjectList_wx(size_t &count) Thanks, I've added this code and it should be fixed. > 2. in modules/wxluadebug/src/splttree.cpp add: > > #ifdef __MINGW32__ > #undef UNREFERENCED_PARAMETER > #endif > > after includes and before: > > static wxTreeItemId defaultTreeItemId; Added. > 3. in {my-build}/modules/Makefile add -lws2_32 to WX_LIBS I'm trying to use cygwin to compile... I'll see about where there would be a good place to add this. It's on a real slow machine so maybe it'll be done by tomorrow. :) > 4. in {my-build}/apps/Makefile change: > > WX_RESCOMP = > > to: > > WX_RESCOMP = windres --include-dir /usr/local/include/wx-2.6 We can't hardcode any paths here. I don't know how to fix this, but I would think that the wx-config script should provide the proper paths. See #3, I'll see if I need this too. > 5. in apps/wxlua/src/wxlua.rc remove "..\\" from icon This is what it currently is (below), which is correct for the apps/wxlua/src dir path. What are you suggesting? lua ICON "..\\..\\..\\art\\wxlua.ico" > 6. in {my-build}/apps/Makefile add -lws2_32 to WX_LIBS I'll see what happens for me, see #3. > 7. in apps/wxluacan/src/cansim.rc remove "..\\" from icon > 8. in apps/wxluafreeze/src/wxluafreeze.rc remove "..\\" from icon See #5, exactly what path works? ======================= Thanks for your work, I'll see what I get for #3, 4, 5, 6, 7, 8 in cygwin. Is gcc in cygwin the same as the mingw you use? -John Labenski |
From: John L. <jla...@gm...> - 2006-08-07 18:54:33
|
I guess VC6 doesn't like that wx2lua and lua2wx are inline functions in a header file included by multiple libs. Since I don't use DLLs myself I can see a few different things we can try. 1) Add /FORCE:MULTIPLE to the linker options http://msdn2.microsoft.com/en-us/library/72zdcz6f.aspx 2) Put the body of the functions into the cpp file and remove the inline. Slower, but smaller. 3) Maybe the problem is that WXDLLIMPEXP_WXLUA is defined when building the wxlua dll, but WXDLLIMPEXP_WXLUASOCKET is defined when building the wxluasocket dll and so that wx2lua and lua2wx are not exported for the socket lib. Maybe add this #ifdef WXMAKINGDLL_WXLUASOCKET && !defined(WXDLLIMPEXP_WXLUA) #define WXDLLIMPEXP_WXLUA #endif so that it gets the import symbol too. Note that this must be put someplace so that it gets parsed before modules/wxlua/wxluadefs.h does. ---------- I think #2 is the simplest option and at the cost of speed, maybe not having so many inline functions might be a good thing as well. Any thoughts about these? Thanks. John Labenski On 8/6/06, marcos <mar...@ya...> wrote: > I get this error on VC6. > > --------------------Configuration: mod_wxluasocket - Win32 DLL Release > Multilib-------------------- > Linking... > wxlua_msw26_wxlua.lib(wxlua_msw26_wxlua.dll) : error LNK2005: "class > wxString __cdecl lua2wx(char const *)" (?lua2wx@@YA?AVwxString@@PBD@Z) > already defined in wxlsock.obj > wxlua_msw26_wxlua.lib(wxlua_msw26_wxlua.dll) : error LNK2005: "class > wxCharBuffer const __cdecl wx2lua(class wxString const &)" > (?wx2lua@@YA?BVwxCharBuffer@@ABVwxString@@@Z) already defined in wxlsock.obj > wxlua_msw26_wxlua.lib(wxlua_msw26_wxlua.dll) : warning LNK4006: "class > wxString __cdecl lua2wx(char const *)" (?lua2wx@@YA?AVwxString@@PBD@Z) > already defined in wxlsock.obj; second definition ignored > wxlua_msw26_wxlua.lib(wxlua_msw26_wxlua.dll) : warning LNK4006: "class > wxCharBuffer const __cdecl wx2lua(class wxString const &)" > (?wx2lua@@YA?BVwxCharBuffer@@ABVwxString@@@Z) already defined in > wxlsock.obj; second definition ignored > Creating library ..\..\..\lib\vc_dll/wxlua_msw26_wxluasocket.lib and > object ..\..\..\lib\vc_dll/wxlua_msw26_wxluasocket.exp > ..\..\..\lib\vc_dll\wxlua_msw26_wxluasocket.dll : fatal error LNK1169: > one or more multiply defined symbols found > Error executing link.exe. > > wxlua_msw26_wxluasocket.dll - 3 error(s), 2 warning(s) > > > Help! > > -- > Marcos E. Wurzius > > > > _______________________________________________________ > Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! > http://br.mobile.yahoo.com/mailalertas/ > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Wxlua-users mailing list > Wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: John L. <jla...@gm...> - 2006-08-07 18:20:28
|
On 8/7/06, klaas.holwerda <kla...@nl...> wrote: > Hi John, > > It seems to be only on Linux. This can't happen, the genwxbind.lua doesn't do anything different in msw or linux. > The two lines you mention are set to the next in my case: > output_cpp_impexpsymbol = "" > output_cpp_impexpdatasymbol = "" > > But only on linux i get the (int) while on windows it is only int. These should be set to these empty macros, see bindings/wx_rules.lua output_cpp_impexpsymbol = "WXLUA_NO_DLLIMPEXP" output_cpp_impexpdatasymbol = "WXLUA_NO_DLLIMPEXP_DATA" They're defined in wxLua/modules/wxlua/include/wxlbind.h > I find it hard to believe myself, but checking it again it looks like > there is a difference here?? > Do you have a switch somewhere in the binding generator? No difference between platforms and no switch. John Labenski > John Labenski wrote: > > On 8/4/06, klaas.holwerda <kla...@nl...> wrote: > > > >> From my bindings.i file i get generated things like: > >> > >> extern (int) a2dDrawer2D_methodCount; > >> and > >> extern (int) s_wxluatag_a2dLauWrapper; > >> > >> On fedora gcc 4.0.0-8 this does not compile, if i remove the () and make > >> plain int all is oke. > >> > >> Why is it (int), maybe it is better to generate it as only int? > >> > > > > You need to add these lines to your rules file probably. Just use the > > dummy macros i you don't want to export them. > > > > -- Set the DLLIMPEXP macros for compiling these bindings into a DLL > > -- Use "WXLUA_NO_DLLIMPEXP" and "WXLUA_NO_DLLIMPEXP_DATA" for no IMPEXP macros > > > > output_cpp_impexpsymbol = "WXDLLIMPEXP_WXBIND" > > output_cpp_impexpdatasymbol = "WXDLLIMPEXP_DATA_WXBIND" > > > > > > -John Labenski > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys -- and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Wxlua-users mailing list > > Wxl...@li... > > https://lists.sourceforge.net/lists/listinfo/wxlua-users > > > > > -- > Unclassified > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Wxlua-users mailing list > Wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: klaas.holwerda <kla...@nl...> - 2006-08-07 10:13:57
|
Hi John, It seems to be only on Linux. The two lines you mention are set to the next in my case: output_cpp_impexpsymbol = "" output_cpp_impexpdatasymbol = "" But only on linux i get the (int) while on windows it is only int. I find it hard to believe myself, but checking it again it looks like there is a difference here?? Do you have a switch somewhere in the binding generator? Thanks, Klaas John Labenski wrote: > On 8/4/06, klaas.holwerda <kla...@nl...> wrote: > >> From my bindings.i file i get generated things like: >> >> extern (int) a2dDrawer2D_methodCount; >> and >> extern (int) s_wxluatag_a2dLauWrapper; >> >> On fedora gcc 4.0.0-8 this does not compile, if i remove the () and make >> plain int all is oke. >> >> Why is it (int), maybe it is better to generate it as only int? >> > > You need to add these lines to your rules file probably. Just use the > dummy macros i you don't want to export them. > > -- Set the DLLIMPEXP macros for compiling these bindings into a DLL > -- Use "WXLUA_NO_DLLIMPEXP" and "WXLUA_NO_DLLIMPEXP_DATA" for no IMPEXP macros > > output_cpp_impexpsymbol = "WXDLLIMPEXP_WXBIND" > output_cpp_impexpdatasymbol = "WXDLLIMPEXP_DATA_WXBIND" > > > -John Labenski > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Wxlua-users mailing list > Wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > -- Unclassified |