From cedron at exede.net Fri Mar 1 13:29:15 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 1 Mar 2019 07:29:15 -0500 (EST) Subject: [Gambas-user] GamePad code organization structure recommendation Message-ID: <1765094736.114224215.1551443355462.JavaMail.zimbra@exede.net> I think this is how the evdev input code should be structured: (View with fixed pitch font) ==================================== : Gambas Programming Environment : ==================================== | | G A M B A S L A N D V V ================ ==================== ( OS Independent ) : GB.GamePad : : GB.TouchScreen : ================ ==================== | | - - - | - - - - - | - - - - - - - - - | | V V ---------------------------------------- ! OSGB.GambasAuxiliaryInputTransport ! ( OS and Library Dependent ) ---------------------------------------- | - - - - - - | - - - - - - - - - - - | V ------------------ : libevdev-1.0 : ------------------ Anybody want a thousand words instead? From mckaygerhard at gmail.com Fri Mar 1 15:09:45 2019 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Fri, 1 Mar 2019 10:09:45 -0400 Subject: [Gambas-user] This is Spam :-) In-Reply-To: References: Message-ID: all Everything I read went very well until I saw the word "window" and all interest are gone now... ;-) as example, in Venezuela there's the canaimitas classmates pc and also the tablet's classmates tables only the tables are used with own users, weantime classmates pc was target of piracy! of course because are only the classmates pc able to be compatible with windo... El s?b., 23 de feb. de 2019 a la(s) 04:10, Fabien Bodard ( gambas.fr at gmail.com) escribi?: > Recently I've begin to follow an interresting hardware project. > > I'm not going to promote it again and again ... But I want to share > with you a cool thing. > > This project is about making an open source Hybrid Touch Screen Tablet > based on a nano computer like raspberry or compatible (octopi, up, > etc). It can be on battery (10 h autonomy) and run linux, android or > windows depend of the nano computer. > > They have published all the draw and howto for making yourselft the > childboards and wires and they share all the stl for printing yourself > the box. > > I see many and many good idea to were I can use it, Accounting, 3D > printer pc, portable retropi, > domotic displayer and manager etc... > > This is the link : > > https://www.diskiopi.com/ > https://fr.ulule.com/fabrication-diskio-pi/ > > > And it's a french project... Well, we have bad politics, we don't know > how to won money, but we have peoples with ideas XD > > Sorry for the noise, Have a good Gambas Day > > Regards, > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mckaygerhard at gmail.com Fri Mar 1 15:54:36 2019 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Fri, 1 Mar 2019 10:54:36 -0400 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <06b45d04-98d5-1cda-a941-9d9142dc5b68@gmail.com> Message-ID: IDE not crashed if use 3.10 since 3.11 crashed: [image: image.png] Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com El mar., 26 de feb. de 2019 a la(s) 18:48, Jussi Lahtinen ( jussi.lahtinen at gmail.com) escribi?: > The IDE freeze, but gdb says it crashes. The back trace is weird... > > (gdb) run > Starting program: /usr/bin/gbx3 > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > gb.gui.qt: warning: 'gb.qt5' component not found, using 'gb.qt4' instead > [New Thread 0x7fffd7bd3700 (LWP 4274)] > [New Thread 0x7fff96de9700 (LWP 4275)] > [New Thread 0x7fff965e8700 (LWP 4276)] > [New Thread 0x7fff95c01700 (LWP 4277)] > > Thread 1 "gbx3" received signal SIGSEGV, Segmentation fault. > __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2940 > 2940 ../sysdeps/x86_64/multiarch/memcpy-ssse3.S: No such file or > directory. > (gdb) bt > #0 0x00007ffff7b53062 in __memcpy_ssse3 () > at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2940 > #1 0x00005555555b8082 in memcpy (__len=18446744073709551615, > __src=0x555556a28bef, __dest=) > at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 > #2 0x00005555555b8082 in STRING_new (src=0x555556a28bef "", len=-1) > at gbx_string.c:320 > #3 0x00005555555bbc68 in VALUE_write (value=0x7ffff640e220, > addr=0x555556689f20, type=) at gbx_value.c:1136 > #4 0x00005555555bbdb1 in VALUE_class_write (class=, > value=, addr=, ctype=...) at gbx_value.c:1537 > #5 0x00005555555aee01 in EXEC_loop () at gbx_exec_loop.c:1716 > #6 0x00005555555b2fbd in EXEC_function_loop () at gbx_exec.c:913 > #7 0x00005555555b3432 in EXEC_function_real () at gbx_exec.c:900 > #8 0x00005555555b4774 in EXEC_public_desc (class=, > object=, desc=, nparam=) at > gbx_exec.c:1593 > #9 0x000055555558def0 in raise_event (observer=, > observer at entry=0x555555c2e408, object=object at entry=0x5555566a9318, > func_id=175, func_id at entry=176, nparam=nparam at entry=0) at gbx_api.c:794 > #10 0x000055555558e1b0 in GB_Raise (object=object at entry=0x5555566a9318, > event_id=0, nparam=nparam at entry=0) at gbx_api.c:926 > #11 0x00005555555a7d77 in trigger_timer (_object=_object at entry > =0x5555566a9318) > at gbx_c_timer.c:162 > > > Jussi > > On Tue, Feb 26, 2019 at 8:14 PM Beno?t Minisini wrote: > >> Le 26/02/2019 ? 18:24, Pino Zollo a ?crit : >> > Here it is....only 12 KB... >> > >> > Run it and Just click on the button. >> > >> > ...the IDE closes. >> > >> > Thanks >> > >> > Pino Zollo >> > >> > >> > >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >> ]---- >> > >> >> Mmm... I have no crash at all. The non UTF-8 characters display rubbish, >> but no crash. >> >> -- >> Beno?t Minisini >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 19397 bytes Desc: not available URL: From g4mba5 at gmail.com Fri Mar 1 16:11:55 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 1 Mar 2019 16:11:55 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> Message-ID: <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> Le 26/02/2019 ? 18:24, Pino Zollo a ?crit?: > Here it is....only 12 KB... > > Run it and Just click on the button. > > ...the IDE closes. > > Thanks > > Pino Zollo > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Can you try with the development version? I ask that, because I have no crash at all here... -- Beno?t Minisini From mckaygerhard at gmail.com Fri Mar 1 16:58:32 2019 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Fri, 1 Mar 2019 11:58:32 -0400 Subject: [Gambas-user] A suggestion for gambaswiki In-Reply-To: <770201414.111494142.1551276369395.JavaMail.zimbra@exede.net> References: <2103978966.111483165.1551275637007.JavaMail.zimbra@exede.net> <770201414.111494142.1551276369395.JavaMail.zimbra@exede.net> Message-ID: Great feature, thanks! Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com El mi?., 27 de feb. de 2019 a la(s) 10:07, Cedron Dawg (cedron at exede.net) escribi?: > Thank you very much. > > ==================================================== > Le 27/02/2019 ? 14:53, Cedron Dawg a ?crit : > > Since I am on the Gambas learning curve, I've been referencing the > documentation a lot. It really is quite good and I can usually find out > what I need to know rather quickly. > > > > I keep a separate browser window open with a whole slew of tabs open to > different pages. The nit I have is the display order in the title. Every > tab says "Gambas Documentio...", so I have to search through them to find > the topic I was looking at, or maybe I closed it. > > > > Would it be possible to reverse the order in the title to be: topic - > Gambas Documentation? > > > > Thanks, > > > > Ced > > > > Done. > > -- > Beno?t Minisini > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mckaygerhard at gmail.com Fri Mar 1 17:34:53 2019 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Fri, 1 Mar 2019 12:34:53 -0400 Subject: [Gambas-user] Gambas Header Files In-Reply-To: <511893252.110902537.1551220999892.JavaMail.zimbra@exede.net> References: <1966464177.110581531.1551206198303.JavaMail.zimbra@exede.net> <20190226215711.GK28675@highrise.localdomain> <594557622.110863523.1551218736325.JavaMail.zimbra@exede.net> <511893252.110902537.1551220999892.JavaMail.zimbra@exede.net> Message-ID: i think its better concentrate efforts in combining web technologies with devices.. event thing that already redone the whell! currently there's no framework for gambas like codeigniter does..that due we need to make things easier for new developer prospects... a framework allows many new developers to come together and there so more people thinking about different solutions... in fact among, language is another barrier... Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com El mar., 26 de feb. de 2019 a la(s) 18:44, Cedron Dawg (cedron at exede.net) escribi?: > Apples and oranges. I assumed that Ctags was a reporting tool. > > So there must be a utility that scans codes and generates tag files, which > then allows your editor to jump to the symbol definition. Do I have that > right? > > Slick, but that's not how I like to work. > > Seeing all the defines in one place is helpful for me as well. > > This project is part of a learning exercise for me. Having useful report > files as output is a beneficial side effect. I'm trying to work towards a > solution that solves the struct incompatibility problem in an entirely > automated way. That may have an impact on how component files are best > architected. > > That is part of a larger goal of being able to automatically generate > shell components for existing libraries. I'm thinking about libusb and a > full implementation of the Gnu Scientific Library. Way too much work to do > manually. > > > ======================================== > [...snip...] > > Do you know ctags [1]? It does all of that and more. I highly recommend it > when working with Gambas' core. > > Regards, > Tobi > > [1] https://en.wikipedia.org/wiki/Ctags > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Fri Mar 1 18:11:33 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 1 Mar 2019 12:11:33 -0500 (EST) Subject: [Gambas-user] GamePad code organization structure recommendation In-Reply-To: <1765094736.114224215.1551443355462.JavaMail.zimbra@exede.net> References: <1765094736.114224215.1551443355462.JavaMail.zimbra@exede.net> Message-ID: <794130947.114571411.1551460293190.JavaMail.zimbra@exede.net> Attached you will find the cleaved version of my previous code. It is a work in progress, a first draft, known to be incomplete. I will be developing my applications as if this already exists, which means stubbing in support for touchpad functionality. In this way, I will be building a wish list of touch pad event handlers. I have very little touch pad experience so any one who wants to throw out a list of actions as they see it defined, please reply to this thread. (No, I don't and never have had a cell phone.) As a side note, if the whole of Gambas were structured as the diagram indicates, porting to (and maintaining) Android(tm), Windows(tm), and Mac(tm) would be possible. Wouldn't that be nice? Here is the main Event Calling Stack: GP.Watch GP.GamePad: ReadEntrys OSGP.GAIT: ReadEntry evdev: libevdev_next_event GP.GamePad: CallBack_GAIT_Raise Gambas Program Event Handler Everything else is just support to set that up. The Gambas Layer is as thin as possible. All OS specific stuff is shoved down to the OSGP.GAIT level. The callback coding is incomplete and probably faulty. If someone wants to pick this up and run with it, please reply to this list thread. As far as this stuff is concerned, Elvis has left the building. Thank you very much. -------------- next part -------------- A non-text attachment was scrubbed... Name: c_ev_device_0_0_2.c Type: text/x-c++src Size: 21654 bytes Desc: not available URL: From t.lee.davidson at gmail.com Fri Mar 1 20:33:32 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 1 Mar 2019 14:33:32 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> Message-ID: <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> On 3/1/19 10:11 AM, Beno?t Minisini wrote: > Le 26/02/2019 ? 18:24, Pino Zollo a ?crit?: >> Here it is....only 12 KB... >> >> Run it and Just click on the button. >> >> ...the IDE closes. >> >> Thanks >> >> Pino Zollo >> >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > Can you try with the development version? I ask that, because I have no crash at all here... > My Gambas version has been updated to 3.12.90, Commit #6eedf188 I just tried running the program via the IDE, and it still crashes at "Debug PacketH". Note that creating an executable and running that in a 'real' terminal does not crash. I created a test project with a TerminalView (for which documentation is lacking, by the way). Executing the "CrashG3.gambas" executable through that terminal view with "TerminalView1.Exec([User.Home &/ "CrashG3.gambas"])" crashes: KCrash: Application 'gbx3' crashing... *** Error in `TestGraphical': malloc(): memory corruption (fast): 0x0000000002398110 *** I have to assume that there's a difference between the implementation of the IDE Console and a TerminalView between Qt and GTK, verses an actual terminal. ___ Lee P.S. For what it's worth, System Information shows "GB_GUI=gb.qt5" , but from Konsole, `echo $GB_GUI` shows that variable is not set. [System] Gambas=3.12.90 6eedf1881 (master) OperatingSystem=Linux Kernel=4.4.172-86-default Architecture=x86_64 Distribution=openSUSE Leap 42.3 Desktop=KDE5 Theme=QtCurve Language=en_US.UTF-8 Memory=3951M [Libraries] Cairo=/usr/lib64/libcairo.so.2.11502.0 Curl=/usr/lib64/libcurl.so.4.3.0 DBus=/lib64/libdbus-1.so.3.8.14 GStreamer=/usr/lib64/libgstreamer-0.10.so.0.30.0 GStreamer=/usr/lib64/libgstreamer-1.0.so.0.803.0 GTK+2=/usr/lib64/libgtk-x11-2.0.so.0.2400.31 GTK+3=/usr/lib64/libgtk-3.so.0.2000.10 OpenGL=/usr/lib64/libGL.so.1.2.0 Poppler=/usr/lib64/libpoppler.so.60.0.0 QT4=/usr/lib64/libQtCore.so.4.8.7 QT5=/usr/lib64/libQt5Core.so.5.6.2 SDL=/usr/lib64/libSDL-1.2.so.0.11.4 SQLite=/usr/lib64/libsqlite3.so.0.8.6 [Environment] /snip/ GB_GUI=gb.qt5 /snip/ From cedron at exede.net Fri Mar 1 23:00:46 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 1 Mar 2019 17:00:46 -0500 (EST) Subject: [Gambas-user] Keystroke Recorder Message-ID: <883481687.114974514.1551477646744.JavaMail.zimbra@exede.net> Earlier today I put in a request for a keystroke recorder for the Gambas IDE. I've been RTFMing. Is it possible to have one Gambas instance being embedded by a Gambas Project running in a second instance of the Gambas IDE? Or something similar. The second instance having system focus sends user typed keys and/or generated keys to the first, the first being oblivious to knowing that it isn't in focus, or has a real user providing the keys, yet displaying as if it did. Would it be possible to send generated mouse events in a similar manner? I don't think SendKey is correct because the second IDE, running an Gambas project, is the one with focus. Albeit, perhaps with minimum screen presence. Can somebody save me a lot of trial and error here? Thanks. Damn, Gambas is rich. From g4mba5 at gmail.com Fri Mar 1 23:20:25 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 1 Mar 2019 23:20:25 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> Message-ID: <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> Le 01/03/2019 ? 20:33, T Lee Davidson a ?crit?: > On 3/1/19 10:11 AM, Beno?t Minisini wrote: >> Le 26/02/2019 ? 18:24, Pino Zollo a ?crit?: >>> Here it is....only 12 KB... >>> >>> Run it and Just click on the button. >>> >>> ...the IDE closes. >>> >>> Thanks >>> >>> Pino Zollo >>> >>> >>> >>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >>> >> >> Can you try with the development version? I ask that, because I have >> no crash at all here... >> > > My Gambas version has been updated to 3.12.90, Commit #6eedf188 > > I just tried running the program via the IDE, and it still crashes at > "Debug PacketH". > > Note that creating an executable and running that in a 'real' terminal > does not crash. The crash is in the Gambas terminal. > > I created a test project with a TerminalView (for which documentation is > lacking, by the way). Executing the "CrashG3.gambas" executable through > that terminal view with "TerminalView1.Exec([User.Home &/ > "CrashG3.gambas"])" crashes: > KCrash: Application 'gbx3' crashing... > *** Error in `TestGraphical': malloc(): memory corruption (fast): > 0x0000000002398110 *** So I told. > > I have to assume that there's a difference between the implementation of > the IDE Console and a TerminalView between Qt and GTK, verses an actual > terminal. > > > ___ > Lee > Does it change anything if you run your program with "GB_NO_JIT=1" set? -- Beno?t Minisini From t.lee.davidson at gmail.com Sat Mar 2 02:35:14 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 1 Mar 2019 20:35:14 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> Message-ID: On 3/1/19 5:20 PM, Beno?t Minisini wrote: > Does?it?change?anything?if?you?run?your?program?with?"GB_NO_JIT=1"?set? No, it still crashes: user at linux-pvlm:~> GB_NO_JIT=1 gbr3 TestGraphical.gambas Segmentation fault (core dumped) TestGraphical.gambas is the test project in which I try to execute CrashG3.gambas using a TerminalView.Exec(). And, unfortunately, there's no dump file, because according to `journalctl`: "Core Dumping has been disabled for process 17303 (gbr3)." I don't yet know why that is. However, if I do: user at linux-pvlm:~> GB_NO_JIT=1 gbr3 /usr/bin/gambas3.gambas Then load and run the CrashG3 project, I get: KCrash: Application 'gbx3' crashing... *** Error in `/usr/bin/gambas3.gambas': malloc(): memory corruption (fast): 0x0000000003395470 *** ======= Backtrace: ========= [snip] Backtrace content attached. ___ Lee -------------- next part -------------- ======= Backtrace: ========= /lib64/libc.so.6(+0x740ef)[0x7f46941a70ef] /lib64/libc.so.6(+0x79646)[0x7f46941ac646] /lib64/libc.so.6(+0x7bb45)[0x7f46941aeb45] /lib64/libc.so.6(__libc_malloc+0x50)[0x7f46941b03d0] /usr/lib64/libQt5Core.so.5(_ZN10QArrayData8allocateEmmm6QFlagsINS_16AllocationOptionEE+0xbf)[0x7f46906bd9ef] /usr/lib64/libQt5Core.so.5(_ZN10QByteArrayC2EiN2Qt14InitializationE+0x20)[0x7f46906bf9a0] /usr/lib64/libQt5Core.so.5(+0x2c8cf8)[0x7f46908d5cf8] /usr/lib64/libQt5Core.so.5(_ZN7QString13toUtf8_helperERKS_+0x1c)[0x7f469074caec] /usr/lib64/libKF5Crash.so.5(_ZN6KCrash19defaultCrashHandlerEi+0x193)[0x7f466e6d7733] /lib64/libc.so.6(+0x34fe0)[0x7f4694167fe0] /lib64/libc.so.6(+0x932a4)[0x7f46941c62a4] /usr/bin/gambas3.gambas[0x44928b] /usr/bin/gambas3.gambas[0x44cb56] /usr/bin/gambas3.gambas[0x43f09b] /usr/bin/gambas3.gambas[0x4442b4] /usr/bin/gambas3.gambas[0x4445ae] /usr/bin/gambas3.gambas[0x41fd00] /usr/bin/gambas3.gambas[0x420079] /usr/bin/gambas3.gambas[0x438ec7] /usr/bin/gambas3.gambas[0x40e850] /usr/lib64/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x296)[0x7f46908a9de6] /usr/lib64/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x9c)[0x7f469177926c] /usr/lib64/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x3fa)[0x7f469177d8ca] /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x75)[0x7f469087eba5] /usr/lib64/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1ca)[0x7f469088098a] /usr/lib64/libQt5Core.so.5(+0x2c2ac3)[0x7f46908cfac3] /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x254)[0x7f468f81b134] /usr/lib64/libglib-2.0.so.0(+0x4c388)[0x7f468f81b388] /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7f468f81b42c] /usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5c)[0x7f46908cf14c] /usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xfb)[0x7f469087cbbb] /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x86)[0x7f4690884aa6] /usr/lib64/gambas3/gb.qt5.so(+0x3bcb5)[0x7f4692380cb5] /usr/bin/gambas3.gambas[0x40522a] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f4694153725] /usr/bin/gambas3.gambas[0x405529] ======= Memory map: ======== 00400000-00468000 r-xp 00000000 00:26 6043712 /usr/bin/gbx3 00667000-00668000 r--p 00067000 00:26 6043712 /usr/bin/gbx3 00668000-00673000 rw-p 00068000 00:26 6043712 /usr/bin/gbx3 00673000-00676000 rw-p 00000000 00:00 0 01b8e000-0368a000 rw-p 00000000 00:00 0 [heap] 7f4608000000-7f4608021000 rw-p 00000000 00:00 0 7f4608021000-7f460c000000 ---p 00000000 00:00 0 7f460c000000-7f460c021000 rw-p 00000000 00:00 0 7f460c021000-7f4610000000 ---p 00000000 00:00 0 7f4610000000-7f4610021000 rw-p 00000000 00:00 0 7f4610021000-7f4614000000 ---p 00000000 00:00 0 7f4614b70000-7f461501d000 rw-s 00000000 00:05 11567124 /SYSV00000000 (deleted) 7f461501d000-7f4615062000 r--p 00000000 00:26 3854676 /usr/share/fonts/truetype/NotoSans-Italic.ttf 7f4615062000-7f4615070000 ---p 00000000 00:00 0 7f4615070000-7f4615080000 rw-p 00000000 00:00 0 7f4615080000-7f4615090000 ---p 00000000 00:00 0 7f4615090000-7f46150a0000 rw-p 00000000 00:00 0 7f46150a0000-7f46154a0000 ---p 00000000 00:00 0 7f46154a0000-7f46154b0000 rw-p 00000000 00:00 0 7f46154b0000-7f46154bf000 ---p 00000000 00:00 0 7f46154bf000-7f46154c0000 ---p 00000000 00:00 0 7f46154c0000-7f4615cc0000 rw-p 00000000 00:00 0 7f4615cc0000-7f4615cc1000 ---p 00000000 00:00 0 7f4615cc1000-7f46164c1000 rw-p 00000000 00:00 0 7f46164c1000-7f46164c5000 r-xp 00000000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f46164c5000-7f46166c4000 ---p 00004000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f46166c4000-7f46166c5000 r--p 00003000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f46166c5000-7f46166c6000 rw-p 00004000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f46166c6000-7f46166c7000 ---p 00000000 00:00 0 7f46166c7000-7f4616ec7000 rw-p 00000000 00:00 0 7f4616ec7000-7f4616f1c000 r-xp 00000000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f4616f1c000-7f461711b000 ---p 00055000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f461711b000-7f461711c000 r--p 00054000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f461711c000-7f461711d000 rw-p 00055000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f461711d000-7f461718a000 r-xp 00000000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f461718a000-7f4617389000 ---p 0006d000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f4617389000-7f461738b000 r--p 0006c000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f461738b000-7f461738c000 rw-p 0006e000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f461738c000-7f461738e000 rw-p 00000000 00:00 0 7f461738e000-7f46173bc000 r-xp 00000000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f46173bc000-7f46175bb000 ---p 0002e000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f46175bb000-7f46175bc000 r--p 0002d000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f46175bc000-7f46175bd000 rw-p 0002e000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f46175bd000-7f46175f7000 r-xp 00000000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f46175f7000-7f46177f6000 ---p 0003a000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f46177f6000-7f46177f7000 r--p 00039000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f46177f7000-7f46177f8000 rw-p 0003a000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f46177f8000-7f4617823000 r-xp 00000000 00:26 5928745 /lib64/libtinfo.so.5.9 7f4617823000-7f4617a22000 ---p 0002b000 00:26 5928745 /lib64/libtinfo.so.5.9 7f4617a22000-7f4617a26000 r--p 0002a000 00:26 5928745 /lib64/libtinfo.so.5.9 7f4617a26000-7f4617a2b000 rw-p 0002e000 00:26 5928745 /lib64/libtinfo.so.5.9 7f4617a2b000-7f4617a2c000 rw-p 00000000 00:00 0 7f4617a2c000-7f4617a5d000 r-xp 00000000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f4617a5d000-7f4617c5c000 ---p 00031000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f4617c5c000-7f4617c5d000 r--p 00030000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f4617c5d000-7f4617c5e000 rw-p 00031000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f4617c5e000-7f4617cbb000 r-xp 00000000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f4617cbb000-7f4617ebb000 ---p 0005d000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f4617ebb000-7f4617ebc000 r--p 0005d000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f4617ebc000-7f4617ebd000 rw-p 0005e000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f4617ebd000-7f4617ebf000 rw-p 00000000 00:00 0 7f4617ebf000-7f4617ef7000 r-xp 00000000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f4617ef7000-7f46180f7000 ---p 00038000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f46180f7000-7f46180f8000 r--p 00038000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f46180f8000-7f46180f9000 rw-p 00039000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f46180f9000-7f4618112000 r-xp 00000000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f4618112000-7f4618311000 ---p 00019000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f4618311000-7f4618312000 r--p 00018000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f4618312000-7f4618313000 rw-p 00019000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f4618313000-7f46183aa000 r-xp 00000000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f46183aa000-7f46185a9000 ---p 00097000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f46185a9000-7f46185aa000 r--p 00096000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f46185aa000-7f46185ab000 rw-p 00097000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f46185ab000-7f46185ae000 r-xp 00000000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f46185ae000-7f46187ae000 ---p 00003000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f46187ae000-7f46187af000 r--p 00003000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f46187af000-7f46187b0000 rw-p 00004000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f46187b0000-7f4618864000 r-xp 00000000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f4618864000-7f4618a63000 ---p 000b4000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f4618a63000-7f4618a65000 r--p 000b3000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f4618a65000-7f4618a67000 rw-p 000b5000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f4618a67000-7f4618a68000 rw-p 00000000 00:00 0 7f4618a68000-7f4618a6a000 r-xp 00000000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f4618a6a000-7f4618c69000 ---p 00002000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f4618c69000-7f4618c6a000 r--p 00001000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f4618c6a000-7f4618c6b000 rw-p 00002000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f4618c6b000-7f4618c91000 r-xp 00000000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f4618c91000-7f4618e90000 ---p 00026000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f4618e90000-7f4618e91000 r--p 00025000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f4618e91000-7f4618e92000 rw-p 00026000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f4618e92000-7f4618efd000 r-xp 00000000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f4618efd000-7f46190fd000 ---p 0006b000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f46190fd000-7f4619101000 r--p 0006b000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f4619101000-7f4619102000 rw-p 0006f000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f4619102000-7f4619106000 r-xp 00000000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f4619106000-7f4619305000 ---p 00004000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f4619305000-7f4619306000 r--p 00003000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f4619306000-7f4619307000 rw-p 00004000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f4619307000-7f4619354000 r-xp 00000000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f4619354000-7f4619553000 ---p 0004d000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f4619553000-7f4619554000 r--p 0004c000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f4619554000-7f4619555000 rw-p 0004d000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f4619555000-7f4619725000 r-xp 00000000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f4619725000-7f4619924000 ---p 001d0000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f4619924000-7f4619926000 r--p 001cf000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f4619926000-7f4619928000 rw-p 001d1000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f4619928000-7f4619929000 rw-p 00000000 00:00 0 7f4619929000-7f4619b78000 r-xp 00000000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f4619b78000-7f4619d78000 ---p 0024f000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f4619d78000-7f4619d81000 r--p 0024f000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f4619d81000-7f4619d85000 rw-p 00258000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f4619d85000-7f4619d8a000 rw-p 00000000 00:00 0 7f4619d8a000-7f4619e01000 r-xp 00000000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f4619e01000-7f461a000000 ---p 00077000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f461a000000-7f461a002000 r--p 00076000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f461a002000-7f461a004000 rw-p 00078000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f461a004000-7f461a0ea000 r-xp 00000000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f461a0ea000-7f461a2e9000 ---p 000e6000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f461a2e9000-7f461a2f0000 r--p 000e5000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f461a2f0000-7f461a2f2000 rw-p 000ec000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f461a2f2000-7f461a2f4000 rw-p 00000000 00:00 0 7f461a2f4000-7f461a365000 r-xp 00000000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f461a365000-7f461a564000 ---p 00071000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f461a564000-7f461a567000 r--p 00070000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f461a567000-7f461a568000 rw-p 00073000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f461a568000-7f461a569000 r-xp 00000000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f461a569000-7f461a768000 ---p 00001000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f461a768000-7f461a769000 r--p 00000000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f461a769000-7f461a76a000 rw-p 00001000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f461a76a000-7f461a9c8000 r-xp 00000000 00:26 5581194 /usr/lib64/libLLVMCore.so.3.8.0 7f461a9c8000-7f461abc7000 ---p 0025e000 00:26 5581194 /usr/lib64/libLLVMCore.so.3.8.0 7f461abc7000-7f461abd8000 r--p 0025d000 00:26 5581194 /usr/lib64/libLLVMCore.so.3.8.0 7f461abd8000-7f461abdb000 rw-p 0026e000 00:26 5581194 /usr/lib64/libLLVMCore.so.3.8.0 7f461abdb000-7f461abdc000 rw-p 00000000 00:00 0 7f461abdc000-7f461ac97000 r-xp 00000000 00:26 5581156 /usr/lib64/libLLVMAMDGPUDesc.so.3.8.0 7f461ac97000-7f461ae97000 ---p 000bb000 00:26 5581156 /usr/lib64/libLLVMAMDGPUDesc.so.3.8.0 7f461ae97000-7f461aeee000 r--p 000bb000 00:26 5581156 /usr/lib64/libLLVMAMDGPUDesc.so.3.8.0 7f461aeee000-7f461aeef000 rw-p 00112000 00:26 5581156 /usr/lib64/libLLVMAMDGPUDesc.so.3.8.0 7f461aeef000-7f461aef0000 rw-p 00000000 00:00 0 7f461aef0000-7f461af2f000 r-xp 00000000 00:26 5581150 /usr/lib64/libLLVMAMDGPUAsmParser.so.3.8.0 7f461af2f000-7f461b12f000 ---p 0003f000 00:26 5581150 /usr/lib64/libLLVMAMDGPUAsmParser.so.3.8.0 7f461b12f000-7f461b130000 r--p 0003f000 00:26 5581150 /usr/lib64/libLLVMAMDGPUAsmParser.so.3.8.0 7f461b130000-7f461b131000 rw-p 00040000 00:26 5581150 /usr/lib64/libLLVMAMDGPUAsmParser.so.3.8.0 7f461b131000-7f461b2ff000 r-xp 00000000 00:26 5581174 /usr/lib64/libLLVMAnalysis.so.3.8.0 7f461b2ff000-7f461b4fe000 ---p 001ce000 00:26 5581174 /usr/lib64/libLLVMAnalysis.so.3.8.0 7f461b4fe000-7f461b505000 r--p 001cd000 00:26 5581174 /usr/lib64/libLLVMAnalysis.so.3.8.0 7f461b505000-7f461b508000 rw-p 001d4000 00:26 5581174 /usr/lib64/libLLVMAnalysis.so.3.8.0 7f461b508000-7f461b50a000 rw-p 00000000 00:00 0 7f461b50a000-7f461b649000 r-xp 00000000 00:26 5581298 /usr/lib64/libLLVMScalarOpts.so.3.8.0 7f461b649000-7f461b848000 ---p 0013f000 00:26 5581298 /usr/lib64/libLLVMScalarOpts.so.3.8.0 7f461b848000-7f461b84c000 r--p 0013e000 00:26 5581298 /usr/lib64/libLLVMScalarOpts.so.3.8.0 7f461b84c000-7f461b84f000 rw-p 00142000 00:26 5581298 /usr/lib64/libLLVMScalarOpts.so.3.8.0 7f461b84f000-7f461b850000 rw-p 00000000 00:00 0 7f461b850000-7f461b85d000 r-xp 00000000 00:26 5581332 /usr/lib64/libLLVMTarget.so.3.8.0 7f461b85d000-7f461ba5c000 ---p 0000d000 00:26 5581332 /usr/lib64/libLLVMTarget.so.3.8.0 7f461ba5c000-7f461ba5d000 r--p 0000c000 00:26 5581332 /usr/lib64/libLLVMTarget.so.3.8.0 7f461ba5d000-7f461ba5e000 rw-p 0000d000 00:26 5581332 /usr/lib64/libLLVMTarget.so.3.8.0 7f461ba5e000-7f461baeb000 r-xp 00000000 00:26 5581362 /usr/lib64/libLLVMipo.so.3.8.0 7f461baeb000-7f461bcea000 ---p 0008d000 00:26 5581362 /usr/lib64/libLLVMipo.so.3.8.0 7f461bcea000-7f461bced000 r--p 0008c000 00:26 5581362 /usr/lib64/libLLVMipo.so.3.8.0 7f461bced000-7f461bcef000 rw-p 0008f000 00:26 5581362 /usr/lib64/libLLVMipo.so.3.8.0 7f461bcef000-7f461bcf0000 rw-p 00000000 00:00 0 7f461bcf0000-7f461bdf5000 r-xp 00000000 00:26 5581154 /usr/lib64/libLLVMAMDGPUCodeGen.so.3.8.0 7f461bdf5000-7f461bff5000 ---p 00105000 00:26 5581154 /usr/lib64/libLLVMAMDGPUCodeGen.so.3.8.0 7f461bff5000-7f461bffc000 r--p 00105000 00:26 5581154 /usr/lib64/libLLVMAMDGPUCodeGen.so.3.8.0 7f461bffc000-7f461bffe000 rw-p 0010c000 00:26 5581154 /usr/lib64/libLLVMAMDGPUCodeGen.so.3.8.0 7f461bffe000-7f465c000000 ---p 00000000 00:00 0 7f465c000000-7f465c021000 rw-p 00000000 00:00 0 7f465c021000-7f4660000000 ---p 00000000 00:00 0 7f4660005000-7f4660010000 ---p 00000000 00:00 0 7f4660010000-7f4660020000 rw-p 00000000 00:00 0 7f4660020000-7f4660024000 ---p 00000000 00:00 0 7f4660024000-7f4660063000 r-xp 00000000 00:26 5581296 /usr/lib64/libLLVMRuntimeDyld.so.3.8.0 7f4660063000-7f4660262000 ---p 0003f000 00:26 5581296 /usr/lib64/libLLVMRuntimeDyld.so.3.8.0 7f4660262000-7f4660264000 r--p 0003e000 00:26 5581296 /usr/lib64/libLLVMRuntimeDyld.so.3.8.0 7f4660264000-7f4660265000 rw-p 00040000 00:26 5581296 /usr/lib64/libLLVMRuntimeDyld.so.3.8.0 7f4660265000-7f4660280000 r-xp 00000000 00:26 5581206 /usr/lib64/libLLVMExecutionEngine.so.3.8.0 7f4660280000-7f466047f000 ---p 0001b000 00:26 5581206 /usr/lib64/libLLVMExecutionEngine.so.3.8.0 7f466047f000-7f4660480000 r--p 0001a000 00:26 5581206 /usr/lib64/libLLVMExecutionEngine.so.3.8.0 7f4660480000-7f4660481000 rw-p 0001b000 00:26 5581206 /usr/lib64/libLLVMExecutionEngine.so.3.8.0 7f4660481000-7f466048c000 r-xp 00000000 00:26 5581238 /usr/lib64/libLLVMMCJIT.so.3.8.0 7f466048c000-7f466068b000 ---p 0000b000 00:26 5581238 /usr/lib64/libLLVMMCJIT.so.3.8.0 7f466068b000-7f466068c000 r--p 0000a000 00:26 5581238 /usr/lib64/libLLVMMCJIT.so.3.8.0 7f466068c000-7f466068d000 rw-p 0000b000 00:26 5581238 /usr/lib64/libLLVMMCJIT.so.3.8.0 7f466068d000-7f466068e000 r-xp 00000000 00:26 5581348 /usr/lib64/libLLVMX86Info.so.3.8.0 7f466068e000-7f466088d000 ---p 00001000 00:26 5581348 /usr/lib64/libLLVMX86Info.so.3.8.0 7f466088d000-7f466088e000 r--p 00000000 00:26 5581348 /usr/lib64/libLLVMX86Info.so.3.8.0 7f466088e000-7f466088f000 rw-p 00001000 00:26 5581348 /usr/lib64/libLLVMX86Info.so.3.8.0 7f466088f000-7f4660894000 r-xp 00000000 00:26 5581236 /usr/lib64/libLLVMMCDisassembler.so.3.8.0 7f4660894000-7f4660a94000 ---p 00005000 00:26 5581236 /usr/lib64/libLLVMMCDisassembler.so.3.8.0 7f4660a94000-7f4660a95000 r--p 00005000 00:26 5581236 /usr/lib64/libLLVMMCDisassembler.so.3.8.0 7f4660a95000-7f4660a96000 rw-p 00006000 00:26 5581236 /usr/lib64/libLLVMMCDisassembler.so.3.8.0 7f4660a96000-7f4660b8a000 r-xp 00000000 00:26 5581344 /usr/lib64/libLLVMX86Desc.so.3.8.0 7f4660b8a000-7f4660d89000 ---p 000f4000 00:26 5581344 /usr/lib64/libLLVMX86Desc.so.3.8.0 7f4660d89000-7f4660e6d000 r--p 000f3000 00:26 5581344 /usr/lib64/libLLVMX86Desc.so.3.8.0 7f4660e6d000-7f4660e6e000 rw-p 001d7000 00:26 5581344 /usr/lib64/libLLVMX86Desc.so.3.8.0 7f4660e6e000-7f4660e6f000 rw-p 00000000 00:00 0 7f4660e6f000-7f4661057000 r-xp 00000000 00:26 5581342 /usr/lib64/libLLVMX86CodeGen.so.3.8.0 7f4661057000-7f4661256000 ---p 001e8000 00:26 5581342 /usr/lib64/libLLVMX86CodeGen.so.3.8.0 7f4661256000-7f466125d000 r--p 001e7000 00:26 5581342 /usr/lib64/libLLVMX86gbx3: warning: cannot write signal #17 into signal pipe: Bad file descriptor CodeGen.so.3.8.0 7f466125d000-7f466125f000 rw-p 001ee000 00:26 5581342 /usr/lib64/libLLVMX86CodeGen.so.3.8.0 7f466125f000-7f46613c4000 r-xp 00000000 00:26 5581346 /usr/lib64/libLLVMX86Disassembler.so.3.8.0 7f46613c4000-7f46615c3000 ---p 00165000 00:26 5581346 /usr/lib64/libLLVMX86Disassembler.so.3.8.0 7f46615c3000-7f46615c4000 r--p 00164000 00:26 5581346 /usr/lib64/libLLVMX86Disassembler.so.3.8.0 7f46615c4000-7f46615c5000 rw-p 00165000 00:26 5581346 /usr/lib64/libLLVMX86Disassembler.so.3.8.0 7f46615c5000-7f46615da000 r-xp 00000000 00:26 3741967 /usr/lib64/libelf-0.158.so 7f46615da000-7f46617d9000 ---p 00015000 00:26 3741967 /usr/lib64/libelf-0.158.so 7f46617d9000-7f46617da000 r--p 00014000 00:26 3741967 /usr/lib64/libelf-0.158.so 7f46617da000-7f46617db000 rw-p 00015000 00:26 3741967 /usr/lib64/libelf-0.158.so 7f46617db000-7f46617e4000 r-xp 00000000 00:26 3743883 /usr/lib64/libdrm_amdgpu.so.1.0.0 7f46617e4000-7f46619e3000 ---p 00009000 00:26 3743883 /usr/lib64/libdrm_amdgpu.so.1.0.0 7f46619e3000-7f46619e4000 r--p 00008000 00:26 3743883 /usr/lib64/libdrm_amdgpu.so.1.0.0 7f46619e4000-7f46619e5000 rw-p 00009000 00:26 3743883 /usr/lib64/libdrm_amdgpu.so.1.0.0 7f46619e5000-7f46619f0000 r-xp 00000000 00:26 3743865 /usr/lib64/libdrm_radeon.so.1.0.1 7f46619f0000-7f4661bef000 ---p 0000b000 00:26 3743865 /usr/lib64/libdrm_radeon.so.1.0.1 7f4661bef000-7f4661bf0000 r--p 0000a000 00:26 3743865 /usr/lib64/libdrm_radeon.so.1.0.1 7f4661bf0000-7f4661bf1000 rw-p 0000b000 00:26 3743865 /usr/lib64/libdrm_radeon.so.1.0.1 7f4661bf1000-7f4661bf8000 r-xp 00000000 00:26 3743871 /usr/lib64/libdrm_nouveau.so.2.0.0 7f4661bf8000-7f4661df7000 ---p 00007000 00:26 3743871 /usr/lib64/libdrm_nouveau.so.2.0.0 7f4661df7000-7f4661df8000 r--p 00006000 00:26 3743871 /usr/lib64/libdrm_nouveau.so.2.0.0 7f4661df8000-7f4661df9000 rw-p 00007000 00:26 3743871 /usr/lib64/libdrm_nouveau.so.2.0.0 7f4661e0e000-7f4661e33000 r--s 00000000 00:26 6046344 /usr/share/mime/mime.cache 7f4661e33000-7f4662784000 r-xp 00000000 00:26 3822479 /usr/lib64/dri/r600_dri.so 7f4662784000-7f4662984000 ---p 00951000 00:26 3822479 /usr/lib64/dri/r600_dri.so 7f4662984000-7f46629c1000 r--p 00951000 00:26 3822479 /usr/lib64/dri/r600_dri.so 7f46629c1000-7f46629cd000 rw-p 0098e000 00:26 3822479 /usr/lib64/dri/r600_dri.so 7f46629cd000-7f4662bc4000 rw-p 00000000 00:00 0 7f4662bc4000-7f4662be8000 r--p 00000000 00:26 3855140 /usr/share/fonts/truetype/SourceCodePro-Bold.otf 7f4662be8000-7f4662bed000 r-xp 00000000 00:26 3923206 /usr/lib64/qt5/plugins/sensors/libqtsensors_linuxsys.so 7f4662bed000-7f4662ded000 ---p 00005000 00:26 3923206 /usr/lib64/qt5/plugins/sensors/libqtsensors_linuxsys.so 7f4662ded000-7f4662dee000 r--p 00005000 00:26 3923206 /usr/lib64/qt5/plugins/sensors/libqtsensors_linuxsys.so 7f4662dee000-7f4662def000 rw-p 00006000 00:26 3923206 /usr/lib64/qt5/plugins/sensors/libqtsensors_linuxsys.so 7f4662def000-7f46637ff000 rw-s 00000000 08:03 199063437 /home/terry/.cache/icon-cache.kcache 7f46637ff000-7f4663800000 ---p 00000000 00:00 0 7f4663800000-7f4664000000 rw-p 00000000 00:00 0 7f4664000000-7f4664021000 rw-p 00000000 00:00 0 7f4664021000-7f4668000000 ---p 00000000 00:00 0 7f4668031000-7f4668066000 r--s 00000000 00:13 18703 /run/nscd/group 7f4668066000-7f466806e000 r-xp 00000000 00:26 3923205 /usr/lib64/qt5/plugins/sensors/libqtsensors_generic.so 7f466806e000-7f466826e000 ---p 00008000 00:26 3923205 /usr/lib64/qt5/plugins/sensors/libqtsensors_generic.so 7f466826e000-7f466826f000 r--p 00008000 00:26 3923205 /usr/lib64/qt5/plugins/sensors/libqtsensors_generic.so 7f466826f000-7f4668270000 rw-p 00009000 00:26 3923205 /usr/lib64/qt5/plugins/sensors/libqtsensors_generic.so 7f4668270000-7f4668293000 r--p 00000000 00:26 3855158 /usr/share/fonts/truetype/SourceCodePro-Regular.otf 7f4668293000-7f46682df000 r--p 00000000 00:26 3854674 /usr/share/fonts/truetype/NotoSans-Bold.ttf 7f46682df000-7f466832a000 r--p 00000000 00:26 3854677 /usr/share/fonts/truetype/NotoSans-Regular.ttf 7f466832a000-7f466832b000 ---p 00000000 00:00 0 7f466832b000-7f4668333000 rw-p 00000000 00:00 0 7f4668333000-7f4668335000 ---p 00000000 00:00 0 7f4668335000-7f466833d000 rw-p 00000000 00:00 0 7f466833d000-7f466833f000 ---p 00000000 00:00 0 7f466833f000-7f466843f000 rw-p 00000000 00:00 0 7f466843f000-7f4668441000 ---p 00000000 00:00 0 7f4668441000-7f4668449000 rw-p 00000000 00:00 0 7f4668449000-7f466844a000 ---p 00000000 00:00 0 7f466844a000-7f4668484000 r-xp 00000000 00:26 5816242 /usr/lib64/qt5/plugins/bearer/libqnmbearer.so 7f4668484000-7f4668684000 ---p 0003a000 00:26 5816242 /usr/lib64/qt5/plugins/bearer/libqnmbearer.so 7f4668684000-7f4668686000 r--p 0003a000 00:26 5816242 /usr/lib64/qt5/plugins/bearer/libqnmbearer.so 7f4668686000-7f4668687000 rw-p 0003c000 00:26 5816242 /usr/lib64/qt5/plugins/bearer/libqnmbearer.so 7f4668687000-7f4668695000 r-xp 00000000 00:26 5816241 /usr/lib64/qt5/plugins/bearer/libqgenericbearer.so 7f4668695000-7f4668895000 ---p 0000e000 00:26 5816241 /usr/lib64/qt5/plugins/bearer/libqgenericbearer.so 7f4668895000-7f4668896000 r--p 0000e000 00:26 5816241 /usr/lib64/qt5/plugins/bearer/libqgenericbearer.so 7f4668896000-7f4668897000 rw-p 0000f000 00:26 5816241 /usr/lib64/qt5/plugins/bearer/libqgenericbearer.so 7f4668897000-7f46688ca000 r-xp 00000000 00:26 5816240 /usr/lib64/qt5/plugins/bearer/libqconnmanbearer.so 7f46688ca000-7f4668aca000 ---p 00033000 00:26 5816240 /usr/lib64/qt5/plugins/bearer/libqconnmanbearer.so 7f4668aca000-7f4668acb000 r--p 00033000 00:26 5816240 /usr/lib64/qt5/plugins/bearer/libqconnmanbearer.so 7f4668acb000-7f4668acc000 rw-p 00034000 00:26 5816240 /usr/lib64/qt5/plugins/bearer/libqconnmanbearer.so 7f4668acc000-7f4668acd000 ---p 00000000 00:00 0 7f4668acd000-7f46692cd000 rw-p 00000000 00:00 0 7f46692cd000-7f4669322000 r--s 00000000 00:26 5817546 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86_64.cache-4 7f4669322000-7f4669358000 r--s 00000000 00:26 4002977 /var/cache/fontconfig/7e1fba7718b83835f0117a869412581c-x86_64.cache-4 7f4669358000-7f466938f000 r--s 00000000 00:26 4002975 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86_64.cache-4 7f466938f000-7f4669403000 r--s 00000000 00:26 4002963 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86_64.cache-4 7f4669403000-7f4669477000 r--s 00000000 00:26 4002961 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86_64.cache-4 7f4669477000-7f466947a000 r-xp 00000000 00:26 6044868 /usr/lib64/gambas3/gb.inotify.so.0.0.0 7f466947a000-7f4669679000 ---p 00003000 00:26 6044868 /usr/lib64/gambas3/gb.inotify.so.0.0.0 7f4669679000-7f466967a000 r--p 00002000 00:26 6044868 /usr/lib64/gambas3/gb.inotify.so.0.0.0 7f466967a000-7f466967b000 rw-p 00003000 00:26 6044868 /usr/lib64/gambas3/gb.inotify.so.0.0.0 7f466967b000-7f4669699000 r-xp 00000000 00:26 3910568 /usr/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so 7f4669699000-7f4669898000 ---p 0001e000 00:26 3910568 /usr/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so 7f4669898000-7f4669899000 r--p 0001d000 00:26 3910568 /usr/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so 7f4669899000-7f466989a000 rw-p 0001e000 00:26 3910568 /usr/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so 7f466989a000-7f466989b000 ---p 00000000 00:00 0 7f466989b000-7f466a09b000 rw-p 00000000 00:00 0 7f466a09b000-7f466a09e000 r-xp 00000000 00:26 3743290 /usr/lib64/libwebpdemux.so.1.0.2 7f466a09e000-7f466a29d000 ---p 00003000 00:26 3743290 /usr/lib64/libwebpdemux.so.1.0.2 7f466a29d000-7f466a29e000 r--p 00002000 00:26 3743290 /usr/lib64/libwebpdemux.so.1.0.2 7f466a29e000-7f466a29f000 rw-p 00003000 00:26 3743290 /usr/lib64/libwebpdemux.so.1.0.2 7f466a29f000-7f466a2a4000 r-xp 00000000 00:26 3909377 /usr/lib64/qt5/plugins/imageformats/libqwebp.so 7f466a2a4000-7f466a4a3000 ---p 00005000 00:26 3909377 /usr/lib64/qt5/plugins/imageformats/libqwebp.so 7f466a4a3000-7f466a4a4000 r--p 00004000 00:26 3909377 /usr/lib64/qt5/plugins/imageformats/libqwebp.so 7f466a4a4000-7f466a4a5000 rw-p 00005000 00:26 3909377 /usr/lib64/qt5/plugins/imageformats/libqwebp.so 7f466a4a5000-7f466a4aa000 r-xp 00000000 00:26 3909376 /usr/lib64/qt5/plugins/imageformats/libqwbmp.so 7f466a4aa000-7f466a6a9000 ---p 00005000 00:26 3909376 /usr/lib64/qt5/plugins/imageformats/libqwbmp.so 7f466a6a9000-7f466a6aa000 r--p 00004000 00:26 3909376 /usr/lib64/qt5/plugins/imageformats/libqwbmp.so 7f466a6aa000-7f466a6ab000 rw-p 00005000 00:26 3909376 /usr/lib64/qt5/plugins/imageformats/libqwbmp.so 7f466a6ab000-7f466a6b4000 r-xp 00000000 00:26 3741696 /usr/lib64/libjbig.so.2.0 7f466a6b4000-7f466a8b3000 ---p 00009000 00:26 3741696 /usr/lib64/libjbig.so.2.0 7f466a8b3000-7f466a8b4000 r--p 00008000 00:26 3741696 /usr/lib64/libjbig.so.2.0 7f466a8b4000-7f466a8b7000 rw-p 00009000 00:26 3741696 /usr/lib64/libjbig.so.2.0 7f466a8b7000-7f466a92b000 r-xp 00000000 00:26 5814730 /usr/lib64/libtiff.so.5.3.0 7f466a92b000-7f466ab2a000 ---p 00074000 00:26 5814730 /usr/lib64/libtiff.so.5.3.0 7f466ab2a000-7f466ab2e000 r--p 00073000 00:26 5814730 /usr/lib64/libtiff.so.5.3.0 7f466ab2e000-7f466ab2f000 rw-p 00077000 00:26 5814730 /usr/lib64/libtiff.so.5.3.0 7f466ab2f000-7f466ab36000 r-xp 00000000 00:26 3909375 /usr/lib64/qt5/plugins/imageformats/libqtiff.so 7f466ab36000-7f466ad36000 ---p 00007000 00:26 3909375 /usr/lib64/qt5/plugins/imageformats/libqtiff.so 7f466ad36000-7f466ad37000 r--p 00007000 00:26 3909375 /usr/lib64/qt5/plugins/imageformats/libqtiff.so 7f466ad37000-7f466ad38000 rw-p 00008000 00:26 3909375 /usr/lib64/qt5/plugins/imageformats/libqtiff.so 7f466ad38000-7f466ad3d000 r-xp 00000000 00:26 3910513 /usr/lib64/qt5/plugins/imageformats/libqsvg.so 7f466ad3d000-7f466af3c000 ---p 00005000 00:26 3910513 /usr/lib64/qt5/plugins/imageformats/libqsvg.so 7f466af3c000-7f466af3d000 r--p 00004000 00:26 3910513 /usr/lib64/qt5/plugins/imageformats/libqsvg.so 7f466af3d000-7f466af3e000 rw-p 00005000 00:26 3910513 /usr/lib64/qt5/plugins/imageformats/libqsvg.so 7f466af3e000-7f466af74000 r-xp 00000000 00:26 3741657 /usr/lib64/liblcms.so.1.0.19 7f466af74000-7f466b174000 ---p 00036000 00:26 3741657 /usr/lib64/liblcms.so.1.0.19 7f466b174000-7f466b175000 r--p 00036000 00:26 3741657 /usr/lib64/liblcms.so.1.0.19 7f466b175000-7f466b176000 rw-p 00037000 00:26 3741657 /usr/lib64/liblcms.so.1.0.19 7f466b176000-7f466b179000 rw-p 00000000 00:00 0 7f466b179000-7f466b1fa000 r-xp 00000000 00:26 3747206 /usr/lib64/libmng.so.1.1.0.10 7f466b1fa000-7f466b3fa000 ---p 00081000 00:26 3747206 /usr/lib64/libmng.so.1.1.0.10 7f466b3fa000-7f466b3fd000 r--p 00081000 00:26 3747206 /usr/lib64/libmng.so.1.1.0.10 7f466b3fd000-7f466b3ff000 rw-p 00084000 00:26 3747206 /usr/lib64/libmng.so.1.1.0.10 7f466b3ff000-7f466b405000 r-xp 00000000 00:26 3909373 /usr/lib64/qt5/plugins/imageformats/libqmng.so 7f466b405000-7f466b604000 ---p 00006000 00:26 3909373 /usr/lib64/qt5/plugins/imageformats/libqmng.so 7f466b604000-7f466b605000 r--p 00005000 00:26 3909373 /usr/lib64/qt5/plugins/imageformats/libqmng.so 7f466b605000-7f466b606000 rw-p 00006000 00:26 3909373 /usr/lib64/qt5/plugins/imageformats/libqmng.so 7f466b606000-7f466b611000 r-xp 00000000 00:26 5816571 /usr/lib64/qt5/plugins/imageformats/libqjpeg.so 7f466b611000-7f466b811000 ---p 0000b000 00:26 5816571 /usr/lib64/qt5/plugins/imageformats/libqjpeg.so 7f466b811000-7f466b812000 r--p 0000b000 00:26 5816571 /usr/lib64/qt5/plugins/imageformats/libqjpeg.so 7f466b812000-7f466b813000 rw-p 0000c000 00:26 5816571 /usr/lib64/qt5/plugins/imageformats/libqjpeg.so 7f466b813000-7f466b862000 r-xp 00000000 00:26 5030277 /usr/lib64/libjasper.so.1.0.0 7f466b862000-7f466ba61000 ---p 0004f000 00:26 5030277 /usr/lib64/libjasper.so.1.0.0 7f466ba61000-7f466ba62000 r--p 0004e000 00:26 5030277 /usr/lib64/libjasper.so.1.0.0 7f466ba62000-7f466ba66000 rw-p 0004f000 00:26 5030277 /usr/lib64/libjasper.so.1.0.0 7f466ba66000-7f466ba6d000 rw-p 00000000 00:00 0 7f466ba6d000-7f466ba75000 r-xp 00000000 00:26 3909372 /usr/lib64/qt5/plugins/imageformats/libqjp2.so 7f466ba75000-7f466bc74000 ---p 00008000 00:26 3909372 /usr/lib64/qt5/plugins/imageformats/libqjp2.so 7f466bc74000-7f466bc75000 r--p 00007000 00:26 3909372 /usr/lib64/qt5/plugins/imageformats/libqjp2.so 7f466bc75000-7f466bc76000 rw-p 00008000 00:26 3909372 /usr/lib64/qt5/plugins/imageformats/libqjp2.so 7f466bc76000-7f466bc7d000 r-xp 00000000 00:26 5816570 /usr/lib64/qt5/plugins/imageformats/libqico.so 7f466bc7d000-7f466be7c000 ---p 00007000 00:26 5816570 /usr/lib64/qt5/plugins/imageformats/libqico.so 7f466be7c000-7f466be7d000 r--p 00006000 00:26 5816570 /usr/lib64/qt5/plugins/imageformats/libqico.so 7f466be7d000-7f466be7e000 rw-p 00007000 00:26 5816570 /usr/lib64/qt5/plugins/imageformats/libqico.so 7f466be7e000-7f466be87000 r-xp 00000000 00:26 3909371 /usr/lib64/qt5/plugins/imageformats/libqicns.so 7f466be87000-7f466c086000 ---p 00009000 00:26 3909371 /usr/lib64/qt5/plugins/imageformats/libqicns.so 7f466c086000-7f466c087000 r--p 00008000 00:26 3909371 /usr/lib64/qt5/plugins/imageformats/libqicns.so 7f466c087000-7f466c088000 rw-p 00009000 00:26 3909371 /usr/lib64/qt5/plugins/imageformats/libqicns.so 7f466c088000-7f466c08e000 r-xp 00000000 00:26 5816569 /usr/lib64/qt5/plugins/imageformats/libqgif.so 7f466c08e000-7f466c28e000 ---p 00006000 00:26 5816569 /usr/lib64/qt5/plugins/imageformats/libqgif.so 7f466c28e000-7f466c28f000 r--p 00006000 00:26 5816569 /usr/lib64/qt5/plugins/imageformats/libqgif.so 7f466c28f000-7f466c290000 rw-p 00007000 00:26 5816569 /usr/lib64/qt5/plugins/imageformats/libqgif.so 7f466c290000-7f466c29b000 r-xp 00000000 00:26 3909370 /usr/lib64/qt5/plugins/imageformats/libqdds.so 7f466c29b000-7f466c49a000 ---p 0000b000 00:26 3909370 /usr/lib64/qt5/plugins/imageformats/libqdds.so 7f466c49a000-7f466c49b000 r--p 0000a000 00:26 3909370 /usr/lib64/qt5/plugins/imageformats/libqdds.so 7f466c49b000-7f466c49c000 rw-p 0000b000 00:26 3909370 /usr/lib64/qt5/plugins/imageformats/libqdds.so 7f466c49c000-7f466c4ab000 r-xp 00000000 00:26 6013943 /usr/lib64/qt5/plugins/imageformats/kimg_xcf.so 7f466c4ab000-7f466c6aa000 ---p 0000f000 00:26 6013943 /usr/lib64/qt5/plugins/imageformats/kimg_xcf.so 7f466c6aa000-7f466c6ab000 r--p 0000e000 00:26 6013943 /usr/lib64/qt5/plugins/imageformats/kimg_xcf.so 7f466c6ab000-7f466c6ac000 rw-p 0000f000 00:26 6013943 /usr/lib64/qt5/plugins/imageformats/kimg_xcf.so 7f466c6ac000-7f466c6b0000 rw-p 00000000 00:00 0 7f466c6b0000-7f466c6b4000 r-xp 00000000 00:26 6013942 /usr/lib64/qt5/plugins/imageformats/kimg_tga.so 7f466c6b4000-7f466c8b3000 ---p 00004000 00:26 6013942 /usr/lib64/qt5/plugins/imageformats/kimg_tga.so 7f466c8b3000-7f466c8b4000 r--p 00003000 00:26 6013942 /usr/lib64/qt5/plugins/imageformats/kimg_tga.so 7f466c8b4000-7f466c8b5000 rw-p 00004000 00:26 6013942 /usr/lib64/qt5/plugins/imageformats/kimg_tga.so 7f466c8b5000-7f466c8bc000 r-xp 00000000 00:26 6013941 /usr/lib64/qt5/plugins/imageformats/kimg_rgb.so 7f466c8bc000-7f466cabc000 ---p 00007000 00:26 6013941 /usr/lib64/qt5/plugins/imageformats/kimg_rgb.so 7f466cabc000-7f466cabd000 r--p 00007000 00:26 6013941 /usr/lib64/qt5/plugins/imageformats/kimg_rgb.so 7f466cabd000-7f466cabe000 rw-p 00008000 00:26 6013941 /usr/lib64/qt5/plugins/imageformats/kimg_rgb.so 7f466cabe000-7f466cac3000 r-xp 00000000 00:26 6013940 /usr/lib64/qt5/plugins/imageformats/kimg_ras.so 7f466cac3000-7f466ccc2000 ---p 00005000 00:26 6013940 /usr/lib64/qt5/plugins/imageformats/kimg_ras.so 7f466ccc2000-7f466ccc3000 r--p 00004000 00:26 6013940 /usr/lib64/qt5/plugins/imageformats/kimg_ras.so 7f466ccc3000-7f466ccc4000 rw-p 00005000 00:26 6013940 /usr/lib64/qt5/plugins/imageformats/kimg_ras.so 7f466ccc4000-7f466ccc8000 r-xp 00000000 00:26 6013939 /usr/lib64/qt5/plugins/imageformats/kimg_psd.so 7f466ccc8000-7f466cec8000 ---p 00004000 00:26 6013939 /usr/lib64/qt5/plugins/imageformats/kimg_psd.so 7f466cec8000-7f466cec9000 r--p 00004000 00:26 6013939 /usr/lib64/qt5/plugins/imageformats/kimg_psd.so 7f466cec9000-7f466ceca000 rw-p 00005000 00:26 6013939 /usr/lib64/qt5/plugins/imageformats/kimg_psd.so 7f466ceca000-7f466ced1000 r-xp 00000000 00:26 6013938 /usr/lib64/qt5/plugins/imageformats/kimg_pic.so 7f466ced1000-7f466d0d0000 ---p 00007000 00:26 6013938 /usr/lib64/qt5/plugins/imageformats/kimg_pic.so 7f466d0d0000-7f466d0d1000 r--p 00006000 00:26 6013938 /usr/lib64/qt5/plugins/imageformats/kimg_pic.so 7f466d0d1000-7f466d0d2000 rw-p 00007000 00:26 6013938 /usr/lib64/qt5/plugins/imageformats/kimg_pic.so 7f466d0d2000-7f466d0d8000 r-xp 00000000 00:26 6013937 /usr/lib64/qt5/plugins/imageformats/kimg_pcx.so 7f466d0d8000-7f466d2d7000 ---p 00006000 00:26 6013937 /usr/lib64/qt5/plugins/imageformats/kimg_pcx.so 7f466d2d7000-7f466d2d8000 r--p 00005000 00:26 6013937 /usr/lib64/qt5/plugins/imageformats/kimg_pcx.so 7f466d2d8000-7f466d2d9000 rw-p 00006000 00:26 6013937 /usr/lib64/qt5/plugins/imageformats/kimg_pcx.so 7f466d2d9000-7f466d2dc000 r-xp 00000000 00:26 6013936 /usr/lib64/qt5/plugins/imageformats/kimg_ora.so 7f466d2dc000-7f466d4dc000 ---p 00003000 00:26 6013936 /usr/lib64/qt5/plugins/imageformats/kimg_ora.so 7f466d4dc000-7f466d4dd000 r--p 00003000 00:26 6013936 /usr/lib64/qt5/plugins/imageformats/kimg_ora.so 7f466d4dd000-7f466d4de000 rw-p 00004000 00:26 6013936 /usr/lib64/qt5/plugins/imageformats/kimg_ora.so 7f466d4de000-7f466d4e1000 r-xp 00000000 00:26 6013935 /usr/lib64/qt5/plugins/imageformats/kimg_kra.so 7f466d4e1000-7f466d6e1000 ---p 00003000 00:26 6013935 /usr/lib64/qt5/plugins/imageformats/kimg_kra.so 7f466d6e1000-7f466d6e2000 r--p 00003000 00:26 6013935 /usr/lib64/qt5/plugins/imageformats/kimg_kra.so 7f466d6e2000-7f466d6e3000 rw-p 00004000 00:26 6013935 /usr/lib64/qt5/plugins/imageformats/kimg_kra.so 7f466d6e3000-7f466d6e9000 r-xp 00000000 00:26 3748960 /usr/lib64/libIlmThread-2_1.so.11.0.0 7f466d6e9000-7f466d8e8000 ---p 00006000 00:26 3748960 /usr/lib64/libIlmThread-2_1.so.11.0.0 7f466d8e8000-7f466d8e9000 r--p 00005000 00:26 3748960 /usr/lib64/libIlmThread-2_1.so.11.0.0 7f466d8e9000-7f466d8ea000 rw-p 00006000 00:26 3748960 /usr/lib64/libIlmThread-2_1.so.11.0.0 7f466d8ea000-7f466d907000 r-xp 00000000 00:26 3748340 /usr/lib64/libIex-2_1.so.11.0.0 7f466d907000-7f466db06000 ---p 0001d000 00:26 3748340 /usr/lib64/libIex-2_1.so.11.0.0 7f466db06000-7f466db0a000 r--p 0001c000 00:26 3748340 /usr/lib64/libIex-2_1.so.11.0.0 7f466db0a000-7f466db0b000 rw-p 00020000 00:26 3748340 /usr/lib64/libIex-2_1.so.11.0.0 7f466db0b000-7f466db4d000 r-xp 00000000 00:26 3748346 /usr/lib64/libHalf.so.11.0.0 7f466db4d000-7f466dd4c000 ---p 00042000 00:26 3748346 /usr/lib64/libHalf.so.11.0.0 7f466dd4c000-7f466dd4d000 r--p 00041000 00:26 3748346 /usr/lib64/libHalf.so.11.0.0 7f466dd4d000-7f466dd4e000 rw-p 00042000 00:26 3748346 /usr/lib64/libHalf.so.11.0.0 7f466dd4e000-7f466de5f000 r-xp 00000000 00:26 4628282 /usr/lib64/libIlmImf-Imf_2_1.so.21.0.0 7f466de5f000-7f466e05f000 ---p 00111000 00:26 4628282 /usr/lib64/libIlmImf-Imf_2_1.so.21.0.0 7f466e05f000-7f466e062000 r--p 00111000 00:26 4628282 /usr/lib64/libIlmImf-Imf_2_1.so.21.0.0 7f466e062000-7f466e064000 rw-p 00114000 00:26 4628282 /usr/lib64/libIlmImf-Imf_2_1.so.21.0.0 7f466e064000-7f466e065000 rw-p 00000000 00:00 0 7f466e065000-7f466e06a000 r-xp 00000000 00:26 6013934 /usr/lib64/qt5/plugins/imageformats/kimg_exr.so 7f466e06a000-7f466e269000 ---p 00005000 00:26 6013934 /usr/lib64/qt5/plugins/imageformats/kimg_exr.so 7f466e269000-7f466e26a000 r--p 00004000 00:26 6013934 /usr/lib64/qt5/plugins/imageformats/kimg_exr.so 7f466e26a000-7f466e26b000 rw-p 00005000 00:26 6013934 /usr/lib64/qt5/plugins/imageformats/kimg_exr.so 7f466e26b000-7f466e274000 r-xp 00000000 00:26 6013933 /usr/lib64/qt5/plugins/imageformats/kimg_eps.so 7f466e274000-7f466e473000 ---p 00009000 00:26 6013933 /usr/lib64/qt5/plugins/imageformats/kimg_eps.so 7f466e473000-7f466e474000 r--p 00008000 00:26 6013933 /usr/lib64/qt5/plugins/imageformats/kimg_eps.so 7f466e474000-7f466e475000 rw-p 00009000 00:26 6013933 /usr/lib64/qt5/plugins/imageformats/kimg_eps.so 7f466e475000-7f466e4cf000 r-xp 00000000 00:26 3947102 /usr/lib64/libKF5Parts.so.5.32.0 7f466e4cf000-7f466e6ce000 ---p 0005a000 00:26 3947102 /usr/lib64/libKF5Parts.so.5.32.0 7f466e6ce000-7f466e6d2000 r--p 00059000 00:26 3947102 /usr/lib64/libKF5Parts.so.5.32.0 7f466e6d2000-7f466e6d3000 rw-p 0005d000 00:26 3947102 /usr/lib64/libKF5Parts.so.5.32.0 7f466e6d3000-7f466e6da000 r-xp 00000000 00:26 3914026 /usr/lib64/libKF5Crash.so.5.32.0 7f466e6da000-7f466e8d9000 ---p 00007000 00:26 3914026 /usr/lib64/libKF5Crash.so.5.32.0 7f466e8d9000-7f466e8da000 r--p 00006000 00:26 3914026 /usr/lib64/libKF5Crash.so.5.32.0 7f466e8da000-7f466e8db000 rw-p 00007000 00:26 3914026 /usr/lib64/libKF5Crash.so.5.32.0 7f466e8db000-7f466e8e4000 r-xp 00000000 00:26 3923295 /usr/lib64/libKF5Style.so.5.32.0 7f466e8e4000-7f466eae3000 ---p 00009000 00:26 3923295 /usr/lib64/libKF5Style.so.5.32.0 7f466eae3000-7f466eae4000 r--p 00008000 00:26 3923295 /usr/lib64/libKF5Style.so.5.32.0 7f466eae4000-7f466eae5000 rw-p 00009000 00:26 3923295 /usr/lib64/libKF5Style.so.5.32.0 7f466eae5000-7f466ed37000 r-xp 00000000 00:26 3947327 /usr/lib64/libKF5KDELibs4Support.so.5.32.0 7f466ed37000-7f466ef36000 ---p 00252000 00:26 3947327 /usr/lib64/libKF5KDELibs4Support.so.5.32.0 7f466ef36000-7f466ef49000 r--p 00251000 00:26 3947327 /usr/lib64/libKF5KDELibs4Support.so.5.32.0 7f466ef49000-7f466ef4e000 rw-p 00264000 00:26 3947327 /usr/lib64/libKF5KDELibs4Support.so.5.32.0 7f466ef4e000-7f466ef4f000 rw-p 00000000 00:00 0 7f466ef4f000-7f466ef60000 r-xp 00000000 00:26 4092349 /usr/lib64/libqtcurve-utils.so.2.0 7f466ef60000-7f466f160000 ---p 00011000 00:26 4092349 /usr/lib64/libqtcurve-utils.so.2.0 7f466f160000-7f466f161000 r--p 00011000 00:26 4092349 /usr/lib64/libqtcurve-utils.so.2.0 7f466f161000-7f466f162000 rw-p 00012000 00:26 4092349 /usr/lib64/libqtcurve-utils.so.2.0 7f466f162000-7f466f1dd000 r-xp 00000000 00:26 4093138 /usr/lib64/qt5/plugins/styles/qtcurve.so 7f466f1dd000-7f466f3dd000 ---p 0007b000 00:26 4093138 /usr/lib64/qt5/plugins/styles/qtcurve.so 7f466f3dd000-7f466f3de000 r--p 0007b000 00:26 4093138 /usr/lib64/qt5/plugins/styles/qtcurve.so 7f466f3de000-7f466f3e0000 rw-p 0007c000 00:26 4093138 /usr/lib64/qt5/plugins/styles/qtcurve.so 7f466f3e0000-7f466f3eb000 r-xp 00000000 00:26 5816572 /usr/lib64/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so 7f466f3eb000-7f466f5ea000 ---p 0000b000 00:26 5816572 /usr/lib64/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so 7f466f5ea000-7f466f5eb000 r--p 0000a000 00:26 5816572 /usr/lib64/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so 7f466f5eb000-7f466f5ec000 rw-p 0000b000 00:26 5816572 /usr/lib64/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so 7f466f5ec000-7f466f619000 r-xp 00000000 00:26 5068306 /usr/lib64/libvorbis.so.0.4.6 7f466f619000-7f466f818000 ---p 0002d000 00:26 5068306 /usr/lib64/libvorbis.so.0.4.6 7f466f818000-7f466f819000 r--p 0002c000 00:26 5068306 /usr/lib64/libvorbis.so.0.4.6 7f466f819000-7f466f81a000 rw-p 0002d000 00:26 5068306 /usr/lib64/libvorbis.so.0.4.6 7f466f81a000-7f466f820000 r-xp 00000000 00:26 3741460 /usr/lib64/libogg.so.0.8.0Unable to start Dr. Konqi Re-raising signal for core dump handling. Aborted (core dumped) From adamnt42 at gmail.com Sat Mar 2 07:00:20 2019 From: adamnt42 at gmail.com (Bruce) Date: Sat, 2 Mar 2019 16:30:20 +1030 Subject: [Gambas-user] Bug #1534: gb.dbus doesn't seem to handle dates any more Message-ID: <3508f4d4-b6e2-632b-2945-74b957b54b1d@gmail.com> Attached are two little projects that demo the problem. b -------------- next part -------------- A non-text attachment was scrubbed... Name: dbusrawclient-0.0.1.tar.gz Type: application/gzip Size: 11939 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: dbusrawserver-0.0.2.tar.gz Type: application/gzip Size: 13341 bytes Desc: not available URL: From gambas.fr at gmail.com Sat Mar 2 14:46:58 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 2 Mar 2019 14:46:58 +0100 Subject: [Gambas-user] This is Spam :-) In-Reply-To: References: Message-ID: The word windows was just for the oses supported by the choosen nanocomputer. Just don't don't choose this one :-D Le ven. 1 mars 2019 ? 15:11, PICCORO McKAY Lenz a ?crit : > > all Everything I read went very well until I saw the word "window" and all interest are gone now... ;-) > > as example, in Venezuela there's the canaimitas classmates pc and also the tablet's classmates tables > > only the tables are used with own users, weantime classmates pc was target of piracy! > of course because are only the classmates pc able to be compatible with windo... > > > El s?b., 23 de feb. de 2019 a la(s) 04:10, Fabien Bodard (gambas.fr at gmail.com) escribi?: >> >> Recently I've begin to follow an interresting hardware project. >> >> I'm not going to promote it again and again ... But I want to share >> with you a cool thing. >> >> This project is about making an open source Hybrid Touch Screen Tablet >> based on a nano computer like raspberry or compatible (octopi, up, >> etc). It can be on battery (10 h autonomy) and run linux, android or >> windows depend of the nano computer. >> >> They have published all the draw and howto for making yourselft the >> childboards and wires and they share all the stl for printing yourself >> the box. >> >> I see many and many good idea to were I can use it, Accounting, 3D >> printer pc, portable retropi, >> domotic displayer and manager etc... >> >> This is the link : >> >> https://www.diskiopi.com/ >> https://fr.ulule.com/fabrication-diskio-pi/ >> >> >> And it's a french project... Well, we have bad politics, we don't know >> how to won money, but we have peoples with ideas XD >> >> Sorry for the noise, Have a good Gambas Day >> >> Regards, >> -- >> Fabien Bodard >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From cedron at exede.net Sat Mar 2 16:52:34 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 2 Mar 2019 10:52:34 -0500 (EST) Subject: [Gambas-user] Are SlashSlash comments okay in the code? Message-ID: <2060847347.115827434.1551541954795.JavaMail.zimbra@exede.net> Technically they are a C++ feature, but seem to work fine in .c with gcc. So my question is really more of a policy one. I prefer all my running comments to be // style, this way I can comment out a whole block with a leading /* and trailing */. Otherwise, I have to either wrap it with a #ifdef (and I despise #defines), or a real code "if( 0 ){}", or temporarily cut and paste the code into a holding place. From g4mba5 at gmail.com Sat Mar 2 19:15:54 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 2 Mar 2019 19:15:54 +0100 Subject: [Gambas-user] Are SlashSlash comments okay in the code? In-Reply-To: <2060847347.115827434.1551541954795.JavaMail.zimbra@exede.net> References: <2060847347.115827434.1551541954795.JavaMail.zimbra@exede.net> Message-ID: <0f4811bf-8000-43b7-8c6e-d3630a38b980@gmail.com> Le 02/03/2019 ? 16:52, Cedron Dawg a ?crit?: > Technically they are a C++ feature, but seem to work fine in .c with gcc. > > So my question is really more of a policy one. > > I prefer all my running comments to be // style, this way I can comment out a whole block with a leading /* and trailing */. Otherwise, I have to either wrap it with a #ifdef (and I despise #defines), or a real code "if( 0 ){}", or temporarily cut and paste the code into a holding place. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > It's okay. I usually use // for one comment-line, and /* */ for multi-line comments. -- Beno?t Minisini From cedron at exede.net Sat Mar 2 19:28:28 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 2 Mar 2019 13:28:28 -0500 (EST) Subject: [Gambas-user] Are SlashSlash comments okay in the code? In-Reply-To: <0f4811bf-8000-43b7-8c6e-d3630a38b980@gmail.com> References: <2060847347.115827434.1551541954795.JavaMail.zimbra@exede.net> <0f4811bf-8000-43b7-8c6e-d3630a38b980@gmail.com> Message-ID: <1781793168.115960670.1551551308025.JavaMail.zimbra@exede.net> Thanks. I've just been looking at c_gsl.c and if they aren't, somebody is in trouble. ;-) I was just about to post a "nevermind" reply, and I found this message. ----- Original Message ----- Le 02/03/2019 ? 16:52, Cedron Dawg a ?crit?: > Technically they are a C++ feature, but seem to work fine in .c with gcc. > > So my question is really more of a policy one. > > I prefer all my running comments to be // style, this way I can comment out a whole block with a leading /* and trailing */. Otherwise, I have to either wrap it with a #ifdef (and I despise #defines), or a real code "if( 0 ){}", or temporarily cut and paste the code into a holding place. > It's okay. I usually use // for one comment-line, and /* */ for multi-line comments. -- Beno?t Minisini From alarch at alarch.pw Sat Mar 2 20:01:41 2019 From: alarch at alarch.pw (Alarc'h) Date: Sat, 2 Mar 2019 20:01:41 +0100 Subject: [Gambas-user] Pb instanciating inotify watch Message-ID: <20190302200141.7bc4c5a3.alarch@alarch.pw> Hello, This message is more particularly intended for Tobias because it concerns the gb.inotify component. I want to make a small application that can detect the mounting or unmounting of usb sticks in the /media/username directory in order to be able to propose formatting or creating a bootable iso image on the key. I thought I would use inotify to detect these events and I saw that there was already a class dedicated to this. I downloaded two examples that Tobias proposed several years ago to this url: http://gambas.8142.n7.nabble.com/gb-inotify-to-capture-filesystem-events-td45299.html When I opened the projects I saw that he was instantiating Inotify objects, I think that was the name he had first thought of. The component documentation says to use Watch. I thought that by replacing Inotify with Watch in the code I would be able to use these examples, because one of them seems to do exactly what I need. But when I want to run his code: Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" I get an error "too many arguments" ("trop d'arguments" my installation being in French). Which syntax should be correct? -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From taboege at gmail.com Sat Mar 2 20:22:19 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 2 Mar 2019 20:22:19 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190302200141.7bc4c5a3.alarch@alarch.pw> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> Message-ID: <20190302192219.GA29749@highrise.localdomain> On Sat, 02 Mar 2019, Alarc'h wrote: > I thought I would use inotify to detect these events and I saw that > there was already a class dedicated to this. I downloaded two examples > that Tobias proposed several years ago to this url: > > http://gambas.8142.n7.nabble.com/gb-inotify-to-capture-filesystem-events-td45299.html > > When I opened the projects I saw that he was instantiating Inotify > objects, I think that was the name he had first thought of. The > component documentation says to use Watch. I thought that by replacing > Inotify with Watch in the code I would be able to use these examples, > because one of them seems to do exactly what I need. > Indeed, the classes were renamed later, and possibly redesigned (I don't remember, but let's see): > But when I want to run his code: > > Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As > "GambasDirectory" > > I get an error "too many arguments" ("trop d'arguments" my installation > being in French). > > Which syntax should be correct? > According to the documentation [1] this is the correct signature and the source code agrees. You should see (or be able to find in the "Debugging" tab of the panel on the bottom of the Gambas IDE window) a stack trace when an error happens. Is the error raised in your code or does the stack trace indicate that comes from *inside* gb.inotify? FTR, I just created a blank project and pasted the line above. It runs as expected. Which begs the question: which version of Gambas do you use and where did you get it from? Regards, Tobi [1] http://gambaswiki.org/wiki/comp/gb.inotify/watch/_new -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Sat Mar 2 20:33:34 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 2 Mar 2019 14:33:34 -0500 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190302192219.GA29749@highrise.localdomain> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> Message-ID: <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> On 3/2/19 2:22 PM, Tobias Boege wrote: [snip] > Indeed, the classes were renamed later, and possibly redesigned > (I don't remember, but let's see): > >> But when I want to run his code: >> >> Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As >> "GambasDirectory" >> >> I get an error "too many arguments" ("trop d'arguments" my installation >> being in French). >> >> Which syntax should be correct? >> > > According to the documentation [1] this is the correct signature and > the source code agrees. You should see (or be able to find in the > "Debugging" tab of the panel on the bottom of the Gambas IDE window) > a stack trace when an error happens. Is the error raised in your code > or does the stack trace indicate that comes from *inside* gb.inotify? > [snip] Indeed, the classes were redesigned. The 'too many arguments' error is caused by the parameters in the event handler's (Create, Delete) signatures. The example needs a little reworking: ' Gambas module file Public Sub Main() ' Disable all unneeded events to increase performance Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" ' Capture creation and deletion of files or directories hWatch.Events[Watch.Create] = True hWatch.Events[Watch.Delete] = True Print "I'm watching... You may now start Gambas projects." End Public Sub GambasDirectory_Create() If Not Watch.IsDir Then Return Print "New directory for Gambas process";; Watch.Name;; " - ";; With Split(File.Load("/proc" &/ Watch.Name &/ "cmdline"), "/") Print "which is";; Left$(.[.Max], -1) End With End Public Sub GambasDirectory_Delete() If Not Watch.IsDir Then Return ' The directory in /proc/ may be removed at this time so we can't ' get any more information. Print "Gambas process";; Watch.Name;; "terminated (normally)" End ___ Lee From alarch at alarch.pw Sat Mar 2 20:41:38 2019 From: alarch at alarch.pw (Alarc'h) Date: Sat, 2 Mar 2019 20:41:38 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190302192219.GA29749@highrise.localdomain> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> Message-ID: <20190302204138.2bafb949.alarch@alarch.pw> Le Sat, 2 Mar 2019 20:22:19 +0100, Tobias Boege a ?crit : > According to the documentation [1] this is the correct signature and > the source code agrees. You should see (or be able to find in the > "Debugging" tab of the panel on the bottom of the Gambas IDE window) > a stack trace when an error happens. Is the error raised in your code > or does the stack trace indicate that comes from *inside* gb.inotify? > > FTR, I just created a blank project and pasted the line above. > It runs as expected. Which begs the question: which version of > Gambas do you use and where did you get it from? > > Regards, > Tobi > > [1] http://gambaswiki.org/wiki/comp/gb.inotify/watch/_new > My version is from the ppa : deb http://ppa.launchpad.net/gambas-team/gambas3/ubuntu xenial main on Linux Mint 18.1 Serena The complete procedure is : Public Sub Main() ' Disable all unneeded events to increase performance Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" ' Capture creation and deletion of files or directories hWatch.Events.Create = True hWatch.Events.Delete = True Print "I'm watching... You may now start Gambas projects." End And the error is in fact symbol 'create' unknown in class watch.events And if I try to use watch.Create = True the error message is Watch.create is not a property... [System] Gambas=3.12.2 OperatingSystem=Linux Kernel=4.4.0-53-generic Architecture=x86_64 Distribution=Linux Mint 18.1 Serena Desktop=KDE5 Theme=QtCurve Language=fr_FR.UTF-8 Memory=5807M [Libraries] Cairo=libcairo.so.2.11400.6 Curl=libcurl.so.4.4.0 DBus=libdbus-1.so.3.14.6 GStreamer=libgstreamer-0.10.so.0.30.0 GStreamer=libgstreamer-1.0.so.0.803.0 GTK+2=libgtk-x11-2.0.so.0.2400.30 GTK+3=libgtk-3.so.0.1800.9 OpenGL=libGL.so.1.2.0 Poppler=libpoppler.so.58.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.6.1 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-8fQ9BEfIlD,guid=991bad816c378164635fc06e5c6950ef DEFAULTS_PATH=/usr/share/gconf//usr/share/xsessions/plasma.default.path DESKTOP_SESSION=/usr/share/xsessions/plasma DISPLAY=:0 GB_GUI=gb.qt4 GPG_AGENT_INFO=/.gnupg/S.gpg-agent:0:1 GS_LIB=/.fonts GTK_MODULES=gail:atk-bridge HOME= KDE_FULL_SESSION=true KDE_SESSION_UID=1001 KDE_SESSION_VERSION=5 LANG=fr_FR.UTF-8 LANGUAGE=fr_FR.UTF-8 LOGNAME= MANDATORY_PATH=/usr/share/gconf//usr/share/xsessions/plasma.mandatory.path PAM_KWALLET5_LOGIN=/tmp/kwallet5_.socket PAM_KWALLET_LOGIN=/tmp/kwallet_.socket PATH=/bin:/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games PWD= QMLSCENE_DEVICE= QSG_RENDER_LOOP= QT_ACCESSIBILITY=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/2305,unix/:/tmp/.ICE-unix/2305 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=2155 SSH_AUTH_SOCK=/tmp/ssh-WEsZzo1MpmOg/agent.2095 TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XCURSOR_SIZE=0 XCURSOR_THEME=breeze_cursors XDG_CONFIG_DIRS=/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/mint-artwork-kde/kf5-settings:/usr/share/mint-artwork-kde/kde4-profile/default/config XDG_CURRENT_DESKTOP=KDE XDG_DATA_DIRS=/usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/ XDG_RUNTIME_DIR=/run/user/1001 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_COOKIE=28eb10fd1fbf4c859eb6983c8d87284f-1550405871.736004-595324829 XDG_SESSION_DESKTOP=KDE XDG_SESSION_ID=3 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=7 -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From alarch at alarch.pw Sat Mar 2 20:53:38 2019 From: alarch at alarch.pw (Alarc'h) Date: Sat, 2 Mar 2019 20:53:38 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> Message-ID: <20190302205338.1b271bd8.alarch@alarch.pw> Le Sat, 2 Mar 2019 14:33:34 -0500, T Lee Davidson a ?crit : > [snip] > > Indeed, the classes were redesigned. The 'too many arguments' error > is caused by the parameters in the event handler's (Create, Delete) > signatures. > [snip] Thank you, with this syntaxe il don't have any error. Now y have to use it for my needs. -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From taboege at gmail.com Sat Mar 2 23:12:07 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 2 Mar 2019 23:12:07 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190302204138.2bafb949.alarch@alarch.pw> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <20190302204138.2bafb949.alarch@alarch.pw> Message-ID: <20190302221207.GB29749@highrise.localdomain> On Sat, 02 Mar 2019, Alarc'h wrote: > Le Sat, 2 Mar 2019 20:22:19 +0100, > Tobias Boege a ?crit : > > > According to the documentation [1] this is the correct signature and > > the source code agrees. You should see (or be able to find in the > > "Debugging" tab of the panel on the bottom of the Gambas IDE window) > > a stack trace when an error happens. Is the error raised in your code > > or does the stack trace indicate that comes from *inside* gb.inotify? > > > > FTR, I just created a blank project and pasted the line above. > > It runs as expected. Which begs the question: which version of > > Gambas do you use and where did you get it from? > > > > Regards, > > Tobi > > > > [1] http://gambaswiki.org/wiki/comp/gb.inotify/watch/_new > > > My version is from the ppa : > > deb http://ppa.launchpad.net/gambas-team/gambas3/ubuntu xenial main > > on Linux Mint 18.1 Serena > > The complete procedure is : > > Public Sub Main() > ' Disable all unneeded events to increase performance > Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As > "GambasDirectory" > ' Capture creation and deletion of files or directories > hWatch.Events.Create = True > hWatch.Events.Delete = True > Print "I'm watching... You may now start Gambas projects." > End > > And the error is in fact symbol 'create' unknown in class watch.events > > And if I try to use watch.Create = True the error message is > Watch.create is not a property... > All these errors are correct. The current (and final) interface uses the Events property as a virtual array indexed by the constants in the Watch class. "hWatch.Events.Create = True" is written now hWatch.Events[Watch.Create] = True I'm basically repeating what T Lee said because it wasn't clear to me if his mail solved your problem completely or not. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From pinozollo at gmail.com Mon Mar 4 00:11:27 2019 From: pinozollo at gmail.com (Pino Zollo) Date: Sun, 3 Mar 2019 20:11:27 -0300 Subject: [Gambas-user] Button colors Message-ID: <457fc987-ba1c-b123-c067-40892420896c@gmail.com> HI, In my project I do dot succeed in changing the Background And Foreground colors? of Buttons... neither in the IDE and neither with instructions. On the contrary I succeed perfectly with Label's and TextLabel's. I made a small program to show this problem....but now I can not make buttons appear.... Here is the small program. Please some help ! Pino Zollo -------------- next part -------------- A non-text attachment was scrubbed... Name: FGBG_Botton-0.0.1.tar.gz Type: application/gzip Size: 12136 bytes Desc: not available URL: From g4mba5 at gmail.com Mon Mar 4 01:40:12 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 4 Mar 2019 01:40:12 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> Message-ID: <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> Le 02/03/2019 ? 02:35, T Lee Davidson a ?crit?: > On 3/1/19 5:20 PM, Beno?t Minisini wrote: >> Does?it?change?anything?if?you?run?your?program?with?"GB_NO_JIT=1"?set? > > No, it still crashes: > ... Does it still crash with the latest commit? -- Beno?t Minisini From t.lee.davidson at gmail.com Mon Mar 4 02:27:26 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 3 Mar 2019 20:27:26 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> Message-ID: <800a0e95-feb2-b257-5fe7-3489bb5f7924@gmail.com> On 3/3/19 7:40 PM, Beno?t Minisini wrote: > Does?it?still?crash?with?the?latest?commit? I will test it when the openSUSE Build Service unstable repo I rely on has updated to commit f2de1bc2. It usually takes a day or two. ___ Lee From cedron at exede.net Mon Mar 4 04:01:36 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 3 Mar 2019 22:01:36 -0500 (EST) Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas Message-ID: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> Let's start with this: http://gambaswiki.org/wiki/doc/intro?nh Congratulations on meeting most of those goals, the far future is nearer than you think. I totally agree with Benoit that M$ code is rushed, thus poorly designed and quite buggy. For commercial software, that ought to be unacceptable, but anybody feel like slapping a 800 lb gorilla? Plenty tried, paid the price. Once of the reasons they were able to get away with this was the success of the Office Suite and the morphing of the independent macro languages (e.g. original Excel macro) into VBA, and allowing VB to "automate" the Office Products. There is an interest in that: https://ask.libreoffice.org/en/question/123674/call-libreoffice-from-gambas/ And clearly Benoit sas some experience with this: http://gambas.8142.n7.nabble.com/Output-to-Libre-Office-Writer-td41541.html But a work around is not the same thing a direct goal. What would be nice would be to be able to pick up OfficeLibre components looking like GP.components, complete with a Gambas philosophical methodology. Is this possible? Not sure, but I think so. I've done a little messing around with LiberOffice's internal macro language in the past. I believe it varies some between their products, but it is very much not VBA. (See above about slapping gorillas.) It is also not very widely used apparently. Does anybody here have any significant with OfficeLibre's macro languages? I'm putting this on my to do list. I think there would be a huge synergy and a substantial increase in the value of Gambas to the corporate world. Being able to drive OfficeLibre would solve a lot of the missing goals and provide oh so much more. Believe me, I used to make Excel dance from VB, combine it with good database access, whew, there is a lot you can accomplish. Thoughts? Ced From cedron at exede.net Mon Mar 4 04:50:53 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 3 Mar 2019 22:50:53 -0500 (EST) Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> Message-ID: <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Good News, it's going to be quite possible. Piece of cake, here is a system diagram: ===================== : Gambas Programs : O S ===================== | I N D E P E N D E N T V ================== L A N D : GB.LO_(type) : ================== | - - - | - - - - - - - - - - - - - - | | | L I N U X ------------------------ | : LibreOffice Daemon : | L A N D ------------------------ | | * | | * | | * V | V ------------------------------ | --------------- : OSGB.GambasToLibreOffice : | : LO_(Type) : ------------------------------ | --------------- | | | | | | V V ----------------------- ---------------------------- : libGambas_ToLO.so : <-=-=-=-=-=-=-> : libLibreOffice_ToGB.so : ----------------------- TCP/IP ---------------------------- Anybody else have experience in defining assymetric communication protocols? From cedron at exede.net Mon Mar 4 05:55:22 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 3 Mar 2019 23:55:22 -0500 (EST) Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: <416532920.117803540.1551675322347.JavaMail.zimbra@exede.net> I'm tired, been coding all day. libGambas_ToLO.so could be done by GB.net so GambasToLibreOffice could be brought up to the OS independent zone. That would be better. Doesn't change much in terms of design, just a little less work. ----- Original Message ----- From: "Cedron Dawg" Good News, it's going to be quite possible. Piece of cake, here is a system diagram: ===================== : Gambas Programs : O S ===================== | I N D E P E N D E N T V ================== L A N D : GB.LO_(type) : ================== | - - - | - - - - - - - - - - - - - - | | | L I N U X ------------------------ | : LibreOffice Daemon : | L A N D ------------------------ | | * | | * | | * V | V ------------------------------ | --------------- : OSGB.GambasToLibreOffice : | : LO_(Type) : ------------------------------ | --------------- | | | | | | V V ----------------------- ---------------------------- : libGambas_ToLO.so : <-=-=-=-=-=-=-> : libLibreOffice_ToGB.so : ----------------------- TCP/IP ---------------------------- From t.lee.davidson at gmail.com Mon Mar 4 07:10:37 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 4 Mar 2019 01:10:37 -0500 Subject: [Gambas-user] Button colors In-Reply-To: <457fc987-ba1c-b123-c067-40892420896c@gmail.com> References: <457fc987-ba1c-b123-c067-40892420896c@gmail.com> Message-ID: <8f94e5cd-d36f-523f-5de6-effae675ce20@gmail.com> On 3/3/19 6:11 PM, Pino Zollo wrote: > HI, > > In my project I do dot succeed in changing the Background And Foreground > colors? of Buttons... > > neither in the IDE and neither with instructions. > > On the contrary I succeed perfectly with Label's and TextLabel's. > > I made a small program to show this problem....but now I can not make > buttons appear.... > > Here is the small program. > > Please some help ! > > Pino Zollo The buttons don't appear because you have put them on Form1 which is never opened. FMain is the startup class, and it and it's form are empty. Using the IDE's "Run this class" context menu item on Form1 produces, "'Form.Main is incorrectly overridden in class 'Form1'". Someone will please correct me if I'm wrong, but as far a I know, a graphical Form should not be given a Main() subroutine. That would be for a non-graphical (ie. command line) application. Also, you do not need to execute the Button.Show(), Label.Show(), and Me.Show() methods in the Form_Open() event handler. Doing so is redundant because the Form itself is already being opened (shown), and the button and labels will be shown automatically with the Form unless set not visible. I suggest moving the code from the Main() subroutine into the Button2_Click() event handler and then deleting the Main() skeleton. Then, delete FMain, rename Form1 to FMain and set it as the Startup class. See how that works. And finally, the color changes work here, both in the IDE and upon execution. ___ Lee From adamnt42 at gmail.com Mon Mar 4 08:37:36 2019 From: adamnt42 at gmail.com (Bruce) Date: Mon, 4 Mar 2019 18:07:36 +1030 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: On 4/3/19 2:20 pm, Cedron Dawg wrote: > Good News, it's going to be quite possible. > > Piece of cake, here is a system diagram: > > > > ===================== > : Gambas Programs : O S > ===================== > | I N D E P E N D E N T > V > ================== L A N D > : GB.LO_(type) : > ================== > | > - - - | - - - - - - - - - - - - - - > | > | > | L I N U X ------------------------ > | : LibreOffice Daemon : > | L A N D ------------------------ > | | * > | | * > | | * > V | V > ------------------------------ | --------------- > : OSGB.GambasToLibreOffice : | : LO_(Type) : > ------------------------------ | --------------- > | | > | | > | | > V V > ----------------------- ---------------------------- > : libGambas_ToLO.so : <-=-=-=-=-=-=-> : libLibreOffice_ToGB.so : > ----------------------- TCP/IP ---------------------------- > > Interesting concept! My own experiences with LO "macro programming" left me somewhat less than enthused. The object module is apparently a mystical secret known only to the inner circle and their publicized documentation about as transparent as a brick. Now something that would do what you propose above would be fantastic, but then again I would be overjoyed if not ecstatic with a library that just let me make LO graphs with data provided by a Gambas program through a somewhat "static" interface. I mean, OK, LO can ACCESS (haha see below) a database and get the data into a spreadsheet and produce a (more or less) nice graph. However this is, in my case, an entirely manual and tiresome exercise when doing it 200+ times a day. What I would like is to be able to is define a graph in LO and then from within a Gambas program, invoke that sheet, provide the data and get pack a pic of the graph. (No disrespect intended to those authors of the Gambas graphing component) So, one of our user's could request a plot of ThisHorse over ThatCriterion in a live sense and we wouldn't have to spend hours a day generating a limited amount of plots based on what we think may be interesting auction lots. Looking forward to seeing more on your efforts! > > Anybody else have experience in defining assymetric communication protocols? > Yes, many years (and many years ago). It's pretty simple. Finally, now you wrote in your original post about VBA. This may be of interest. Many, many winters ago, when men were real hairy men etc... a couple of guys wrote this 80x0 based database thingo called "OpenAccess". This thingo was quite amazing. It even had a gooey (didn't have GUI's in those days) bizzo that let you code user level programs to access a database and display the results and let the user manipulate the data by means of "forms". It even had a bizzo that created "banded" reports of the data. If you wanted to do some particularly tricky bit of data manipulation there was even a thing they called a macro programmer. The whole thing was pretty amazing really, except it used their own database management system. The macro programmer used a little regarded "language" called BASIC. Anyway, some gut from Seattle bought the ideas from them for a pittance (read stole), including something they had been working on that would let OpenAccess interact with some proprietry DBMS's. (Let's just call that the beginnings of ODBC.) So, OpenAccess became Access. The macro programmer language became "AccessBasic". Some M$ wizkids saw the potential of that and incorporated AccessBasic into (ahem) "Office". Cutting the rest of this long story short, as you kiddies need to sleep, is that OpenAccess BASIC became AccessBasic which begot "BA" who was long apon the land and begot (in a misbeguided moment) "VBA". So! Hows that for some history? If you doubt my credentials just ask me about indexed indirect jumps in assembler. cheers B From gambas.fr at gmail.com Mon Mar 4 11:02:07 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 4 Mar 2019 11:02:07 +0100 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: > So! Hows that for some history? > > If you doubt my credentials just ask me about indexed indirect jumps in > assembler. > > cheers > B What is amazing is that I can't find anything about this history on the web ... any links ? On the generic web, Access seem to be born at M$ centers.. but in the real world ... there is no so many things in the M$ world that start at M$ land. :-) > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From adamnt42 at gmail.com Mon Mar 4 11:36:58 2019 From: adamnt42 at gmail.com (Bruce) Date: Mon, 4 Mar 2019 21:06:58 +1030 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: On 4/3/19 8:32 pm, Fabien Bodard wrote: >> So! Hows that for some history? >> >> If you doubt my credentials just ask me about indexed indirect jumps in >> assembler. >> >> cheers >> B > > What is amazing is that I can't find anything about this history on the web ... > > any links ? > So long ago. Maybe there is something in here if the archives still exist? http://databaseadvisors.com/mailman/listinfo Possibly in AccessD or dba-VB. I used to belong here many moons ago. b > > On the generic web, Access seem to be born at M$ centers.. but in the > real world ... there is no so many > things in the M$ world that start at M$ land. :-) > >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > From adamnt42 at gmail.com Mon Mar 4 11:48:47 2019 From: adamnt42 at gmail.com (Bruce) Date: Mon, 4 Mar 2019 21:18:47 +1030 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: <0f4d9c94-fedc-e227-7c02-443914741818@gmail.com> Maybe I was wrong? It might have been called R:Base. The wikipedia info sounds very familiar. https://en.wikipedia.org/wiki/R:Base b On 4/3/19 8:32 pm, Fabien Bodard wrote: >> So! Hows that for some history? >> >> If you doubt my credentials just ask me about indexed indirect jumps in >> assembler. >> >> cheers >> B > > What is amazing is that I can't find anything about this history on the web ... > > any links ? > > > On the generic web, Access seem to be born at M$ centers.. but in the > real world ... there is no so many > things in the M$ world that start at M$ land. :-) > >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > From adamnt42 at gmail.com Mon Mar 4 12:04:13 2019 From: adamnt42 at gmail.com (Bruce) Date: Mon, 4 Mar 2019 21:34:13 +1030 Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: You want history? Watch this... :-) https://youtu.be/evMilwVBHAQ (COMDEX 199?) b On 4/3/19 8:32 pm, Fabien Bodard wrote: >> So! Hows that for some history? >> >> If you doubt my credentials just ask me about indexed indirect jumps in >> assembler. >> >> cheers >> B > > What is amazing is that I can't find anything about this history on the web ... > > any links ? > > > On the generic web, Access seem to be born at M$ centers.. but in the > real world ... there is no so many > things in the M$ world that start at M$ land. :-) > >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > From cedron at exede.net Mon Mar 4 15:00:21 2019 From: cedron at exede.net (Cedron Dawg) Date: Mon, 4 Mar 2019 09:00:21 -0500 (EST) Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: <694105102.118089457.1551708021027.JavaMail.zimbra@exede.net> Hi B, I'm going to look into this further, do some experimenting, and come back when I have something substantial. Would you be interested in being an alpha tester? I don't doubt you credentials. I was in that club. For the kiddies, what does this do? ----------------- mov cx, ax cmp cx, bx ja T mov cx, bx T: mov dx, ax add dx, bx sub dx, cx ----------------- Why would you do it that way? I will make creating a chart the prototype functionality. Give me a few days or so, I want to do it right. Is everybody marching forth today? Ced ----- Original Message ----- (Why is the from missing?) Sent: Monday, March 4, 2019 2:37:36 AM Subject: Re: [Gambas-user] A friendly face on LibreOffice towards Gambas [...snip...] Now something that would do what you propose above would be fantastic, but then again I would be overjoyed if not ecstatic with a library that just let me make LO graphs with data provided by a Gambas program through a somewhat "static" interface. [...snip...] So, one of our user's could request a plot of ThisHorse over ThatCriterion in a live sense and we wouldn't have to spend hours a day generating a limited amount of plots based on what we think may be interesting auction lots. Looking forward to seeing more on your efforts! [...snip...] Finally, now you wrote in your original post about VBA. This may be of interest. [...snip...] If you wanted to do some particularly tricky bit of data manipulation there was even a thing they called a macro programmer. The whole thing was pretty amazing really, except it used their own database management system. The macro programmer used a little regarded "language" called BASIC. [...snip...] If you doubt my credentials just ask me about indexed indirect jumps in assembler. cheers B ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Mon Mar 4 22:55:13 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 4 Mar 2019 16:55:13 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> Message-ID: On 3/3/19 7:40 PM, Beno?t Minisini wrote: > Le 02/03/2019 ? 02:35, T Lee Davidson a ?crit?: >> On 3/1/19 5:20 PM, Beno?t Minisini wrote: >>> Does?it?change?anything?if?you?run?your?program?with?"GB_NO_JIT=1"?set? >> >> No, it still crashes: > > ... > > Does it still crash with the latest commit? Yes, with Gambas version 3.12.90 f2de1bc27 (master), it still crashes. I re-created executables for both CrashG3.gambas and my graphical test project which does "TerminalView1.Exec([User.Home &/ "CrashG3.gambas"])". They both still crash. --- user at linux-pvlm:~> GB_NO_JIT=1 gbr3 TestGraphical.gambas Segmentation fault (core dumped) --- No backtrace. Open and execute CrashG3 project like so: --- user at linux-pvlm:~> GB_NO_JIT=1 gbr3 /usr/bin/gambas3.gambas KCrash: Application 'gbx3' crashing... *** Error in `/usr/bin/gambas3.gambas': malloc(): memory corruption (fast): 0x0000000003663980 *** ======= Backtrace: ========= [snip] --- Backtrace content attached. ___ Lee -------------- next part -------------- ======= Backtrace: ========= /lib64/libc.so.6(+0x740ef)[0x7f5866b190ef] /lib64/libc.so.6(+0x79646)[0x7f5866b1e646] /lib64/libc.so.6(+0x7bb45)[0x7f5866b20b45] /lib64/libc.so.6(__libc_malloc+0x50)[0x7f5866b223d0] /usr/lib64/libQt5Core.so.5(_ZN10QArrayData8allocateEmmm6QFlagsINS_16AllocationOptionEE+0xbf)[0x7f586302d9ef] /usr/lib64/libQt5Core.so.5(_ZN10QByteArrayC2EiN2Qt14InitializationE+0x20)[0x7f586302f9a0] /usr/lib64/libQt5Core.so.5(+0x2c8cf8)[0x7f5863245cf8] /usr/lib64/libQt5Core.so.5(_ZN7QString13toUtf8_helperERKS_+0x1c)[0x7f58630bcaec] /usr/lib64/libKF5Crash.so.5(_ZN6KCrash19defaultCrashHandlerEi+0x193)[0x7f5840e65733] /lib64/libc.so.6(+0x34fe0)[0x7f5866ad9fe0] /lib64/libc.so.6(+0x932a4)[0x7f5866b382a4] /usr/bin/gambas3.gambas[0x4492bb] /usr/bin/gambas3.gambas[0x44cb86] /usr/bin/gambas3.gambas[0x43f0cb] /usr/bin/gambas3.gambas[0x4442e4] /usr/bin/gambas3.gambas[0x4445de] /usr/bin/gambas3.gambas[0x41fd00] /usr/bin/gambas3.gambas[0x420079] /usr/bin/gambas3.gambas[0x438ef7] /usr/bin/gambas3.gambas[0x40e850] /usr/lib64/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x296)[0x7f5863219de6] /usr/lib64/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x9c)[0x7f58640e926c] /usr/lib64/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x3fa)[0x7f58640ed8ca] /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x75)[0x7f58631eeba5] /usr/lib64/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1ca)[0x7f58631f098a] /usr/lib64/libQt5Core.so.5(+0x2c2ac3)[0x7f586323fac3] /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x254)[0x7f586218b134] /usr/lib64/libglib-2.0.so.0(+0x4c388)[0x7f586218b388] /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7f586218b42c] /usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5c)[0x7f586323f14c] /usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xfb)[0x7f58631ecbbb] /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x86)[0x7f58631f4aa6] /usr/lib64/gambas3/gb.qt5.so(+0x3bd25)[0x7f5864cf0d25] /usr/bin/gambas3.gambas[0x40522a] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f5866ac5725] /usr/bin/gambas3.gambas[0x405529] ======= Memory map: ======== 00400000-00468000 r-xp 00000000 00:26 6055831 /usr/bin/gbx3 00667000-00668000 r--p 00067000 00:26 6055831 /usr/bin/gbx3 00668000-00673000 rw-p 00068000 00:26 6055831 /usr/bin/gbx3 00673000-00676000 rw-p 00000000 00:00 0 0206e000-03b01000 rw-p 00000000 00:00 0 [heap] 7f57d8000000-7f57d8021000 rw-p 00000000 00:00 0 7f57d8021000-7f57dc000000 ---p 00000000 00:00 0 7f57dc000000-7f57dc021000 rw-p 00000000 00:00 0 7f57dc021000-7f57e0000000 ---p 00000000 00:00 0 7f57e0000000-7f57e0021000 rw-p 00000000 00:00 0 7f57e0021000-7f57e4000000 ---p 00000000 00:00 0 7f57e745b000-7f57e7908000 rw-s 00000000 00:05 1802270 /SYSV00000000 (deleted) 7f57e7908000-7f57e7d08000 ---p 00000000 00:00 0 7f57e7d08000-7f57e7d09000 ---p 00000000 00:00 0 7f57e7d09000-7f57e8509000 rw-p 00000000 00:00 0 7f57e8509000-7f57e850a000 ---p 00000000 00:00 0 7f57e850a000-7f57e8d0a000 rw-p 00000000 00:00 0 7f57e8d0a000-7f57e8d0e000 r-xp 00000000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f57e8d0e000-7f57e8f0d000 ---p 00004000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f57e8f0d000-7f57e8f0e000 r--p 00003000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f57e8f0e000-7f57e8f0f000 rw-p 00004000 00:26 3491483 /usr/lib64/libtxc_dxtn.so 7f57e8f0f000-7f57e8f10000 ---p 00000000 00:00 0 7f57e8f10000-7f57e9710000 rw-p 00000000 00:00 0 7f57e9710000-7f57e9765000 r-xp 00000000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f57e9765000-7f57e9964000 ---p 00055000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f57e9964000-7f57e9965000 r--p 00054000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f57e9965000-7f57e9966000 rw-p 00055000 00:26 5581176 /usr/lib64/libLLVMAsmParser.so.3.8.0 7f57e9966000-7f57e99d3000 r-xp 00000000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f57e99d3000-7f57e9bd2000 ---p 0006d000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f57e9bd2000-7f57e9bd4000 r--p 0006c000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f57e9bd4000-7f57e9bd5000 rw-p 0006e000 00:26 5581222 /usr/lib64/libLLVMInstrumentation.so.3.8.0 7f57e9bd5000-7f57e9bd7000 rw-p 00000000 00:00 0 7f57e9bd7000-7f57e9c05000 r-xp 00000000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f57e9c05000-7f57e9e04000 ---p 0002e000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f57e9e04000-7f57e9e05000 r--p 0002d000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f57e9e05000-7f57e9e06000 rw-p 0002e000 00:26 5581190 /usr/lib64/libLLVMBitWriter.so.3.8.0 7f57e9e06000-7f57e9e40000 r-xp 00000000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f57e9e40000-7f57ea03f000 ---p 0003a000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f57ea03f000-7f57ea040000 r--p 00039000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f57ea040000-7f57ea041000 rw-p 0003a000 00:26 5581188 /usr/lib64/libLLVMBitReader.so.3.8.0 7f57ea041000-7f57ea06c000 r-xp 00000000 00:26 5928745 /lib64/libtinfo.so.5.9 7f57ea06c000-7f57ea26b000 ---p 0002b000 00:26 5928745 /lib64/libtinfo.so.5.9 7f57ea26b000-7f57ea26f000 r--p 0002a000 00:26 5928745 /lib64/libtinfo.so.5.9 7f57ea26f000-7f57ea274000 rw-p 0002e000 00:26 5928745 /lib64/libtinfo.so.5.9 7f57ea274000-7f57ea275000 rw-p 00000000 00:00 0 7f57ea275000-7f57ea2a6000 r-xp 00000000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f57ea2a6000-7f57ea4a5000 ---p 00031000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f57ea4a5000-7f57ea4a6000 r--p 00030000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f57ea4a6000-7f57ea4a7000 rw-p 00031000 00:26 5581240 /usr/lib64/libLLVMMCParser.so.3.8.0 7f57ea4a7000-7f57ea504000 r-xp 00000000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f57ea504000-7f57ea704000 ---p 0005d000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f57ea704000-7f57ea705000 r--p 0005d000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f57ea705000-7f57ea706000 rw-p 0005e000 00:26 5581336 /usr/lib64/libLLVMVectorize.so.3.8.0 7f57ea706000-7f57ea708000 rw-p 00000000 00:00 0 7f57ea708000-7f57ea740000 r-xp 00000000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f57ea740000-7f57ea940000 ---p 00038000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f57ea940000-7f57ea941000 r--p 00038000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f57ea941000-7f57ea942000 rw-p 00039000 00:26 5581294 /usr/lib64/libLLVMProfileData.so.3.8.0 7f57ea942000-7f57ea95b000 r-xp 00000000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f57ea95b000-7f57eab5a000 ---p 00019000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f57eab5a000-7f57eab5b000 r--p 00018000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f57eab5b000-7f57eab5c000 rw-p 00019000 00:26 5581232 /usr/lib64/libLLVMLinker.so.3.8.0 7f57eab5c000-7f57eabf3000 r-xp 00000000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f57eabf3000-7f57eadf2000 ---p 00097000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f57eadf2000-7f57eadf3000 r--p 00096000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f57eadf3000-7f57eadf4000 rw-p 00097000 00:26 5581220 /usr/lib64/libLLVMInstCombine.so.3.8.0 7f57eadf4000-7f57eadf7000 r-xp 00000000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f57eadf7000-7f57eaff7000 ---p 00003000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f57eaff7000-7f57eaff8000 r--p 00003000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f57eaff8000-7f57eaff9000 rw-p 00004000 00:26 5581218 /usr/lib64/libLLVMIRReader.so.3.8.0 7f57eaff9000-7f57eb0ad000 r-xp 00000000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f57eb0ad000-7f57eb2ac000 ---p 000b4000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f57eb2ac000-7f57eb2ae000 r--p 000b3000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f57eb2ae000-7f57eb2b0000 rw-p 000b5000 00:26 5581334 /usr/lib64/libLLVMTransformUtils.so.3.8.0 7f57eb2b0000-7f57eb2b1000 rw-p 00000000 00:00 0 7f57eb2b1000-7f57eb2b3000 r-xp 00000000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f57eb2b3000-7f57eb4b2000 ---p 00002000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f57eb4b2000-7f57eb4b3000 r--p 00001000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f57eb4b3000-7f57eb4b4000 rw-p 00002000 00:26 5581160 /usr/lib64/libLLVMAMDGPUUtils.so.3.8.0 7f57eb4b4000-7f57eb4da000 r-xp 00000000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f57eb4da000-7f57eb6d9000 ---p 00026000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f57eb6d9000-7f57eb6da000 r--p 00025000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f57eb6da000-7f57eb6db000 rw-p 00026000 00:26 5581152 /usr/lib64/libLLVMAMDGPUAsmPrinter.so.3.8.0 7f57eb6db000-7f57eb746000 r-xp 00000000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f57eb746000-7f57eb946000 ---p 0006b000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f57eb946000-7f57eb94a000 r--p 0006b000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f57eb94a000-7f57eb94b000 rw-p 0006f000 00:26 5581274 /usr/lib64/libLLVMObject.so.3.8.0 7f57eb94b000-7f57eb94f000 r-xp 00000000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f57eb94f000-7f57ebb4e000 ---p 00004000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f57ebb4e000-7f57ebb4f000 r--p 00003000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f57ebb4f000-7f57ebb50000 rw-p 00004000 00:26 5581350 /usr/lib64/libLLVMX86Utils.so.3.8.0 7f57ebb50000-7f57ebb9d000 r-xp 00000000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f57ebb9d000-7f57ebd9c000 ---p 0004d000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f57ebd9c000-7f57ebd9d000 r--p 0004c000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f57ebd9d000-7f57ebd9e000 rw-p 0004d000 00:26 5581340 /usr/lib64/libLLVMX86AsmPrinter.so.3.8.0 7f57ebd9e000-7f57ebf6e000 r-xp 00000000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f57ebf6e000-7f57ec16d000 ---p 001d0000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f57ec16d000-7f57ec16f000 r--p 001cf000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f57ec16f000-7f57ec171000 rw-p 001d1000 00:26 5581300 /usr/lib64/libLLVMSelectionDAG.so.3.8.0 7f57ec171000-7f57ec172000 rw-p 00000000 00:00 0 7f57ec172000-7f57ec3c1000 r-xp 00000000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f57ec3c1000-7f57ec5c1000 ---p 0024f000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f57ec5c1000-7f57ec5ca000 r--p 0024f000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f57ec5ca000-7f57ec5ce000 rw-p 00258000 00:26 5581192 /usr/lib64/libLLVMCodeGen.so.3.8.0 7f57ec5ce000-7f57ec5d3000 rw-p 00000000 00:00 0 7f57ec5d3000-7f57ec64a000 r-xp 00000000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f57ec64a000-7f57ec849000 ---p 00077000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f57ec849000-7f57ec84b000 r--p 00076000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f57ec84b000-7f57ec84d000 rw-p 00078000 00:26 5581178 /usr/lib64/libLLVMAsmPrinter.so.3.8.0 7f57ec84d000-7f57ec933000 r-xp 00000000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f57ec933000-7f57ecb32000 ---p 000e6000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f57ecb32000-7f57ecb39000 r--p 000e5000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f57ecb39000-7f57ecb3b000 rw-p 000ec000 00:26 5581314 /usr/lib64/libLLVMSupport.so.3.8.0 7f57ecb3b000-7f57ecb3d000 rw-p 00000000 00:00 0 7f57ecb3d000-7f57ecbae000 r-xp 00000000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f57ecbae000-7f57ecdad000 ---p 00071000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f57ecdad000-7f57ecdb0000 r--p 00070000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f57ecdb0000-7f57ecdb1000 rw-p 00073000 00:26 5581234 /usr/lib64/libLLVMMC.so.3.8.0 7f57ecdb1000-7f57ecdb2000 r-xp 00000000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f57ecdb2000-7f57ecfb1000 ---p 00001000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0 7f57ecfb1000-7f57ecfb2000 r--p 00000000 00:26 5581158 /usr/lib64/libLLVMAMDGPUInfo.so.3.8.0gbx3: warning: cannot write signal #17 into signal pipe: Bad file descriptor Re-raising signal for core dump handling. Aborted (core dumped) From g4mba5 at gmail.com Mon Mar 4 23:05:21 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 4 Mar 2019 23:05:21 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> Message-ID: <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> Le 04/03/2019 ? 22:55, T Lee Davidson a ?crit?: > On 3/3/19 7:40 PM, Beno?t Minisini wrote: >> Le 02/03/2019 ? 02:35, T Lee Davidson a ?crit?: >>> On 3/1/19 5:20 PM, Beno?t Minisini wrote: >>>> Does?it?change?anything?if?you?run?your?program?with?"GB_NO_JIT=1"?set? >>> >>> No, it still crashes: >> ?> ... >> >> Does it still crash with the latest commit? > > Yes, with Gambas version 3.12.90 f2de1bc27 (master), it still crashes. > > I re-created executables for both CrashG3.gambas and my graphical test > project which does "TerminalView1.Exec([User.Home &/ > "CrashG3.gambas"])". They both still crash. > > --- > user at linux-pvlm:~> GB_NO_JIT=1 gbr3 TestGraphical.gambas > Segmentation fault (core dumped) > --- > > No backtrace. > > > Open and execute CrashG3 project like so: > --- > user at linux-pvlm:~> GB_NO_JIT=1 gbr3 /usr/bin/gambas3.gambas > KCrash: Application 'gbx3' crashing... > *** Error in `/usr/bin/gambas3.gambas': malloc(): memory corruption > (fast): 0x0000000003663980 *** > ======= Backtrace: ========= > [snip] > --- > > Backtrace content attached. > > > ___ > Lee > That backtrace is useless. Can you run the IDE with valgrind and send me the valgrind output? $ valgrind --tool=memcheck --num-callers=50 gbr3 /usr/bin/gambas3.gambas ... Thanks. -- Beno?t Minisini From t.lee.davidson at gmail.com Mon Mar 4 23:19:35 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 4 Mar 2019 17:19:35 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> Message-ID: <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> On 3/4/19 5:05 PM, Beno?t Minisini wrote: > That backtrace is useless. Can you run the IDE with valgrind and send me the?valgrind?output? > > $?valgrind?--tool=memcheck?--num-callers=50?gbr3?/usr/bin/gambas3.gambas > ... > > Thanks. Certainly. Valgrind output (94K) attached. ___ Lee -------------- next part -------------- ==17267== Memcheck, a memory error detector ==17267== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==17267== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info ==17267== Command: gbr3 /usr/bin/gambas3.gambas ==17267== ==17267== Warning: set address range perms: large range [0x39600000, 0x79602000) (noaccess) org.kde.kcoreaddons: Deleting wrong version of cache "/home/user/.cache/icon-cache.kcache" ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FE3: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F7C: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F8D: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F9D: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FF2: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FAA: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D63724: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D63753: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D6375A: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73AE0: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FE3: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FF2: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F7C: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F8D: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62F9D: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D62FAA: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D63724: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D63753: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D6375A: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D6306F: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D63076: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D633D7: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D633DE: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D637AE: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D637B5: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D637CB: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D637DA: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D637E1: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D637E7: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D637EB: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D637F1: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D63812: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D63816: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x527: ??? ==17267== by 0x1101: ??? ==17267== by 0x3800C0EF: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x2DE60C9F: ??? ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D63819: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D6381B: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D6382B: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Use of uninitialised value of size 8 ==17267== at 0x13D6382E: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x527: ??? ==17267== by 0x1101: ??? ==17267== by 0x3800C0EF: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x2DE60C9F: ??? ==17267== ==17267== Conditional jump or move depends on uninitialised value(s) ==17267== at 0x13D63831: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D62EED: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73B15: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D73C38: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6A1C4: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D6F3BD: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13F8FBC9: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x13D72633: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x8CE4BB3: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09ABD: QTimerInfoList::activateTimers() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D09E80: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Invalid write of size 1 ==17267== at 0x4C2EC83: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4492BA: ??? (in /usr/bin/gbx3) ==17267== by 0x44CB85: ??? (in /usr/bin/gbx3) ==17267== by 0x43F0CA: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x438EF6: ??? (in /usr/bin/gbx3) ==17267== by 0x40E84F: ??? (in /usr/bin/gbx3) ==17267== by 0x8CE4DE5: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBB989: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D0AAC2: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== Address 0x2d62b650 is 0 bytes after a block of size 32 alloc'd ==17267== at 0x4C2A080: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4077B8: ??? (in /usr/bin/gbx3) ==17267== by 0x449295: ??? (in /usr/bin/gbx3) ==17267== by 0x446697: ??? (in /usr/bin/gbx3) ==17267== by 0x43F857: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x445B9C: ??? (in /usr/bin/gbx3) ==17267== by 0x44610F: ??? (in /usr/bin/gbx3) ==17267== by 0x4465C5: ??? (in /usr/bin/gbx3) ==17267== by 0x43F857: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x446191: ??? (in /usr/bin/gbx3) ==17267== by 0x4465C5: ??? (in /usr/bin/gbx3) ==17267== by 0x43F857: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x716ED0D: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x8CB994C: QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F42A7: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F9143: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F7E3F: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A4F5E0: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A51B82: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x83FC84A: QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83FDFE4: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83DFE8A: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x1B5DA95F: ??? (in /usr/lib64/libQt5XcbQpa.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== ==17267== Invalid read of size 1 ==17267== at 0x4C2EC80: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4492BA: ??? (in /usr/bin/gbx3) ==17267== by 0x44CB85: ??? (in /usr/bin/gbx3) ==17267== by 0x43F0CA: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x438EF6: ??? (in /usr/bin/gbx3) ==17267== by 0x40E84F: ??? (in /usr/bin/gbx3) ==17267== by 0x8CE4DE5: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBB989: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D0AAC2: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== Address 0x311abbd0 is 0 bytes after a block of size 64 alloc'd ==17267== at 0x4C2A080: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4077B8: ??? (in /usr/bin/gbx3) ==17267== by 0x441663: ??? (in /usr/bin/gbx3) ==17267== by 0x42DE3D: ??? (in /usr/bin/gbx3) ==17267== by 0x43DFF0: ??? (in /usr/bin/gbx3) ==17267== by 0x440083: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x716ED0D: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x8CB994C: QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F42A7: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F9143: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F7E3F: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A4F5E0: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A51B82: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x83FC84A: QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83FDFE4: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83DFE8A: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x1B5DA95F: ??? (in /usr/lib64/libQt5XcbQpa.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== ==17267== Invalid read of size 1 ==17267== at 0x4C2EC8E: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4492BA: ??? (in /usr/bin/gbx3) ==17267== by 0x44CB85: ??? (in /usr/bin/gbx3) ==17267== by 0x43F0CA: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x438EF6: ??? (in /usr/bin/gbx3) ==17267== by 0x40E84F: ??? (in /usr/bin/gbx3) ==17267== by 0x8CE4DE5: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBB989: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D0AAC2: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== Address 0x311abbd1 is 1 bytes after a block of size 64 alloc'd ==17267== at 0x4C2A080: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4077B8: ??? (in /usr/bin/gbx3) ==17267== by 0x441663: ??? (in /usr/bin/gbx3) ==17267== by 0x42DE3D: ??? (in /usr/bin/gbx3) ==17267== by 0x43DFF0: ??? (in /usr/bin/gbx3) ==17267== by 0x440083: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x43F49C: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x716ED0D: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x8CB994C: QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F42A7: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F9143: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F7E3F: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A4F5E0: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x7A51B82: ??? (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x83FC84A: QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83FDFE4: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x83DFE8A: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (in /usr/lib64/libQt5Gui.so.5.6.2) ==17267== by 0x1B5DA95F: ??? (in /usr/lib64/libQt5XcbQpa.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) ==17267== KCrash: Application 'gbx3' crashing... findSb: can't find pointer 0x2D6D6650 in arena 'client' valgrind: the 'impossible' happened: findSb: VG_(arena_free)() in wrong arena? host stacktrace: ==17267== at 0x3803EFB8: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3803F0E4: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3803F321: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3803F34A: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3804A697: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3804D481: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3800BB15: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3800BD0B: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x3800BE87: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x38092AF5: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==17267== by 0x380A138A: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 17267) ==17267== at 0x4C2A080: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x8AF89EE: QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8AFA86D: QByteArray::QByteArray(char const*, int) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x80FCD5C: QX11Info::display() (in /usr/lib64/libQt5X11Extras.so.5.6.2) ==17267== by 0x27E65B3B: KCrash::defaultCrashHandler(int) (in /usr/lib64/libKF5Crash.so.5.32.0) ==17267== by 0x4E6AFDF: ??? (in /lib64/libc-2.22.so) ==17267== by 0x4C2EC7F: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17267== by 0x4492BA: ??? (in /usr/bin/gbx3) ==17267== by 0x44CB85: ??? (in /usr/bin/gbx3) ==17267== by 0x43F0CA: ??? (in /usr/bin/gbx3) ==17267== by 0x4442E3: ??? (in /usr/bin/gbx3) ==17267== by 0x4445DD: ??? (in /usr/bin/gbx3) ==17267== by 0x41FCFF: ??? (in /usr/bin/gbx3) ==17267== by 0x420078: ??? (in /usr/bin/gbx3) ==17267== by 0x438EF6: ??? (in /usr/bin/gbx3) ==17267== by 0x40E84F: ??? (in /usr/bin/gbx3) ==17267== by 0x8CE4DE5: QObject::event(QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x79F426B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x79F88C9: QApplication::notify(QObject*, QEvent*) (in /usr/lib64/libQt5Widgets.so.5.6.2) ==17267== by 0x8CB9BA4: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBB989: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8D0AAC2: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x9C7D133: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D387: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CBFAA5: QCoreApplication::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x7161D24: ??? (in /usr/lib64/gambas3/gb.qt5.so.0.0.0) ==17267== by 0x405229: ??? (in /usr/bin/gbx3) ==17267== by 0x4E56724: (below main) (in /lib64/libc-2.22.so) Thread 2: status = VgTs_WaitSys (lwpid 17330) ==17267== at 0x4F1A30D: ??? (in /lib64/libc-2.22.so) ==17267== by 0xB49A3C1: ??? (in /usr/lib64/libxcb.so.1.1.0) ==17267== by 0xB49BFAE: xcb_wait_for_event (in /usr/lib64/libxcb.so.1.1.0) ==17267== by 0x1B5AD148: ??? (in /usr/lib64/libQt5XcbQpa.so.5.6.2) ==17267== by 0x8AF79E8: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 3: status = VgTs_WaitSys (lwpid 17331) ==17267== at 0x4F1A30D: ??? (in /lib64/libc-2.22.so) ==17267== by 0x9C7D313: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8AF2F19: QThread::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x1D708284: ??? (in /usr/lib64/libQt5DBus.so.5.6.2) ==17267== by 0x8AF79E8: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 4: status = VgTs_WaitSys (lwpid 17333) ==17267== at 0x4F1A30D: ??? (in /lib64/libc-2.22.so) ==17267== by 0x9C7D313: ??? (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x9C7D42B: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.4800.2) ==17267== by 0x8D0A14B: QEventDispatcherGlib::processEvents(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8CB7BBA: QEventLoop::exec(QFlags) (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8AF2F19: QThread::exec() (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x8AF79E8: ??? (in /usr/lib64/libQt5Core.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 5: status = VgTs_WaitSys (lwpid 17334) ==17267== at 0x51E80FF: pthread_cond_wait@@GLIBC_2.3.2 (in /lib64/libpthread-2.22.so) ==17267== by 0x1405C952: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x1405C978: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 6: status = VgTs_WaitSys (lwpid 17336) ==17267== at 0x51E80FF: pthread_cond_wait@@GLIBC_2.3.2 (in /lib64/libpthread-2.22.so) ==17267== by 0x32313B4A: ??? (in /usr/lib64/dri/r600_dri.so) ==17267== by 0x323138C6: ??? (in /usr/lib64/dri/r600_dri.so) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 7: status = VgTs_WaitSys (lwpid 17337) ==17267== at 0x51E80FF: pthread_cond_wait@@GLIBC_2.3.2 (in /lib64/libpthread-2.22.so) ==17267== by 0x13D687EC: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x1408B420: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Thread 8: status = VgTs_WaitSys (lwpid 17338) ==17267== at 0x51E80FF: pthread_cond_wait@@GLIBC_2.3.2 (in /lib64/libpthread-2.22.so) ==17267== by 0x13D697C2: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x1408B420: ??? (in /usr/lib64/libQt5WebKit.so.5.6.2) ==17267== by 0x51E3723: start_thread (in /lib64/libpthread-2.22.so) Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks. From g4mba5 at gmail.com Tue Mar 5 00:38:44 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 5 Mar 2019 00:38:44 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> Message-ID: Le 04/03/2019 ? 23:19, T Lee Davidson a ?crit?: > On 3/4/19 5:05 PM, Beno?t Minisini wrote: >> That backtrace is useless. Can you run the IDE with valgrind and send >> me the?valgrind?output? >> >> $?valgrind?--tool=memcheck?--num-callers=50?gbr3?/usr/bin/gambas3.gambas >> ... >> >> Thanks. > > Certainly. Valgrind output (94K) attached. > > > ___ > Lee > Mmm, I forgot to told you that you must compile the interpreter with debugging information enabled. $ cd /main/gbx $ make clean $ make "CFLAGS=-O0 -g" $ cd .. $ sudo make install -- Beno?t Minisini From mckaygerhard at gmail.com Tue Mar 5 01:03:40 2019 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Mon, 4 Mar 2019 20:03:40 -0400 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> Message-ID: as i remenber the CFLAGS are override in the makefiles. that was fixed? El lun., 4 de mar. de 2019 a la(s) 19:39, Beno?t Minisini (g4mba5 at gmail.com) escribi?: > Le 04/03/2019 ? 23:19, T Lee Davidson a ?crit : > > On 3/4/19 5:05 PM, Beno?t Minisini wrote: > >> That backtrace is useless. Can you run the IDE with valgrind and send > >> me the valgrind output? > >> > >> $ valgrind --tool=memcheck --num-callers=50 gbr3 /usr/bin/gambas3.gambas > >> ... > >> > >> Thanks. > > > > Certainly. Valgrind output (94K) attached. > > > > > > ___ > > Lee > > > > Mmm, I forgot to told you that you must compile the interpreter with > debugging information enabled. > > $ cd /main/gbx > $ make clean > $ make "CFLAGS=-O0 -g" > $ cd .. > $ sudo make install > > -- > Beno?t Minisini > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Mar 5 01:31:40 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 4 Mar 2019 19:31:40 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> Message-ID: <9fe4a266-678b-a508-0c16-5f92edc63e46@gmail.com> On 3/4/19 6:38 PM, Beno?t Minisini wrote: > Mmm, I forgot to told you that you must compile the interpreter with debugging?information?enabled. > > $?cd?/main/gbx > $?make?clean > $?make?"CFLAGS=-O0?-g" > $?cd?.. > $?sudo?make?install Oops :-) I greatly prefer using my distro's package manager instead of compiling from source; which is why I subscribed to the openSUSE Build Service 'unstable' repo (home:munix:unstable) for Gambas. The Wiki documentation for compilation, installation on openSUSE is quite outdated. Is it possible to compile and install Gambas to an additional location such as '/usr/local'? Would I simply use `./configure -C --prefix=/usr/local`? Is doing this even recommended? ___ Lee From taboege at gmail.com Tue Mar 5 04:10:39 2019 From: taboege at gmail.com (Tobias Boege) Date: Tue, 5 Mar 2019 04:10:39 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> <095d8e16-8879-3fbf-e245-1e9b6b9a7348@gmail.com> <01d78afd-786e-6542-257f-a871a07f9b9a@gmail.com> Message-ID: <20190305031039.GG29749@highrise.localdomain> On Mon, 04 Mar 2019, PICCORO McKAY Lenz wrote: > El lun., 4 de mar. de 2019 a la(s) 19:39, Beno?t Minisini (g4mba5 at gmail.com) > escribi?: > > > Le 04/03/2019 ? 23:19, T Lee Davidson a ?crit : > > > On 3/4/19 5:05 PM, Beno?t Minisini wrote: > > >> That backtrace is useless. Can you run the IDE with valgrind and send > > >> me the valgrind output? > > >> > > >> $ valgrind --tool=memcheck --num-callers=50 gbr3 /usr/bin/gambas3.gambas > > >> ... > > >> > > >> Thanks. > > > > > > Certainly. Valgrind output (94K) attached. > > > > Mmm, I forgot to told you that you must compile the interpreter with > > debugging information enabled. > > > > $ cd /main/gbx > > $ make clean > > $ make "CFLAGS=-O0 -g" > > $ cd .. > > $ sudo make install > > > > > as i remenber the CFLAGS are override in the makefiles. that was fixed? > You remember wrong. The above has been working for a long, long time. It uses a feature of make, nothing specific about Gambas or its build system. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Tue Mar 5 21:21:22 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 15:21:22 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? Message-ID: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> It has been mentioned in the past that Gambas doesn't have garbage collection, that objects are allocated in place. In regular BASICS, and Java, etc, when a string append is performed, space for the new string is created, the old string copied, and the new string copied at the end. So the question is, if one is appending a whole block of strings like this: x &= "long string constant" x &= "long again " & maybewith & "some replacement termst" . . . Is it better to allocate a memory area and print to the memory instead? Syntactically, I think the former is cleaner looking, but if there is a performance hit, that is not worth it. The two variations are easily interchangeable via search and replace, so is not something I need to know immediately, but I'd like to know which is better. Not worth a deep dive into the code yet though. Thanks, Ced From g4mba5 at gmail.com Tue Mar 5 21:26:15 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 5 Mar 2019 21:26:15 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> Message-ID: <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> Le 05/03/2019 ? 21:21, Cedron Dawg a ?crit?: > It has been mentioned in the past that Gambas doesn't have garbage collection, that objects are allocated in place. In regular BASICS, and Java, etc, when a string append is performed, space for the new string is created, the old string copied, and the new string copied at the end. > > So the question is, if one is appending a whole block of strings like this: > > x &= "long string constant" > x &= "long again " & maybewith & "some replacement termst" > . > . > . > > Is it better to allocate a memory area and print to the memory instead? > > Syntactically, I think the former is cleaner looking, but if there is a performance hit, that is not worth it. The two variations are easily interchangeable via search and replace, so is not something I need to know immediately, but I'd like to know which is better. > > Not worth a deep dive into the code yet though. > > Thanks, > Ced > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > &= is just syntactic sugar. A &= B is the same thing as A = A & B, and so using &= for adding a string to a buffer does a lot of useless allocations. Two workarounds: 1) Using a second string as an intermediate buffer. 2) Using OPEN STRING instruction. It implements a string buffer, and so does less allocations. Regards, -- Beno?t Minisini From cedron at exede.net Tue Mar 5 21:39:32 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 15:39:32 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> Message-ID: <127119625.119812237.1551818372112.JavaMail.zimbra@exede.net> Thanks, I like my sugar sweet, but not expensive. I knew about, and was referring to: http://gambaswiki.org/wiki/lang/alloc http://gambaswiki.org/wiki/lang/memory http://gambaswiki.org/wiki/lang/free I hadn't seen this: http://gambaswiki.org/wiki/lang/openstring So, I assume the distinction is knowing where the data is during the building and the latter helps protect you against overruns. Would varptr find the destination string before the stream is closed? Are their any performance considerations between those two? ----- Original Message ----- From: "Beno?t Minisini" &= is just syntactic sugar. A &= B is the same thing as A = A & B, and so using &= for adding a string to a buffer does a lot of useless allocations. Two workarounds: 1) Using a second string as an intermediate buffer. 2) Using OPEN STRING instruction. It implements a string buffer, and so does less allocations. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Tue Mar 5 21:56:12 2019 From: taboege at gmail.com (Tobias Boege) Date: Tue, 5 Mar 2019 21:56:12 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> Message-ID: <20190305205612.GA8473@highrise.localdomain> On Tue, 05 Mar 2019, Cedron Dawg wrote: > It has been mentioned in the past that Gambas doesn't have garbage collection, that objects are allocated in place. In regular BASICS, and Java, etc, when a string append is performed, space for the new string is created, the old string copied, and the new string copied at the end. > > So the question is, if one is appending a whole block of strings like this: > > x &= "long string constant" > x &= "long again " & maybewith & "some replacement termst" > . > . > . > > Is it better to allocate a memory area and print to the memory instead? > > Syntactically, I think the former is cleaner looking, but if there is a performance hit, that is not worth it. The two variations are easily interchangeable via search and replace, so is not something I need to know immediately, but I'd like to know which is better. > > Not worth a deep dive into the code yet though. > A string in Gambas is a base pointer, an index into it and a length. This implies that concatenation has to realloc and copy. (It also means by contrast that operations like Mid$() are very cheap.) You can observe this with a test program like this: Public Const Lipsum As String = "" "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " ' around 600 bytes of etc. Public Sub Main() Dim s As String If Args.Count < 2 Then Error.Raise("Need number of iterations") For i As Integer = 0 To CInt(Args[1]) s &= Lipsum Next End and valgrind: $ valgrind -- gbx3 -- 0 2>&1 | grep -o "total heap usage.*" total heap usage: 338 allocs, 338 frees, 75,382 bytes allocated $ valgrind -- gbx3 -- 10 2>&1 | grep -o "total heap usage.*" total heap usage: 348 allocs, 348 frees, 115,222 bytes allocated $ valgrind -- gbx3 -- 100 2>&1 | grep -o "total heap usage.*" total heap usage: 438 allocs, 438 frees, 3,134,134 bytes allocated $ valgrind -- gbx3 -- 1000 2>&1 | grep -o "total heap usage.*" total heap usage: 1,338 allocs, 1,338 frees, 296,614,134 bytes allocated While the numbers of allocations line up perfectly with the Gambas code that you see, you can guess from those samples regarding "bytes allocated" that the cumulative memory usage grows almost quadratically in the number of iterations, which may at least count as some evidence for a plain realloc and copy. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Tue Mar 5 22:03:45 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 16:03:45 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> Message-ID: <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> A little thinking helps. I'm going with alloc/memory/free, because I have an idea how much space I will need. Having +=, -=, *=, etc is a huge plus for me compared to other BASICs. Open question (also asked at forum.gambas.one) to all. Do you prefer Inc x Dec x or x += 1 x -= 1 ? ----- Original Message ----- From: "Beno?t Minisini" &= is just syntactic sugar. A &= B is the same thing as A = A & B, and so using &= for adding a string to a buffer does a lot of useless allocations. Two workarounds: 1) Using a second string as an intermediate buffer. 2) Using OPEN STRING instruction. It implements a string buffer, and so does less allocations. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Tue Mar 5 22:05:27 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 5 Mar 2019 22:05:27 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <127119625.119812237.1551818372112.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <127119625.119812237.1551818372112.JavaMail.zimbra@exede.net> Message-ID: <0d5d2190-55a9-3419-cb61-6ce06b25f299@gmail.com> Le 05/03/2019 ? 21:39, Cedron Dawg a ?crit?: > Thanks, I like my sugar sweet, but not expensive. > > I knew about, and was referring to: > > http://gambaswiki.org/wiki/lang/alloc > http://gambaswiki.org/wiki/lang/memory > http://gambaswiki.org/wiki/lang/free You must use these functions only to deal with extern function in shared libraries. Don't use them with standard Gambas code. -- Beno?t Minisini From cedron at exede.net Tue Mar 5 22:10:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 16:10:40 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <20190305205612.GA8473@highrise.localdomain> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <20190305205612.GA8473@highrise.localdomain> Message-ID: <406087367.119869357.1551820240455.JavaMail.zimbra@exede.net> Hi Tobi, "This implies that concatenation has to realloc and copy" is not necessarily true. I wrote a string heap a long time ago which attempted to be efficient. Shortening a string merely meant adjusting the pointer block, no news there. In lengthening the string, the algorithm checked for room at the end. If there was, it appended the data there. When you were building a string, it was likely it was on top of the heap so there was lots of room. When a allocation was asked for, the first gap large enough was used to reduce garbage collections. Garbage collections were limited to compression until the gap got large enough for the requested string size. Sometimes this meant a full garbage collection, but that is the default behavior for most string heaps. I'll investigate this valgrind tool when I get a chance. Right now, I have no pressing need, the program still runs in an eye blink. Ced ----- Original Message ----- From: "Tobias Boege" A string in Gambas is a base pointer, an index into it and a length. This implies that concatenation has to realloc and copy. (It also means by contrast that operations like Mid$() are very cheap.) You can observe this with a test program like this: Public Const Lipsum As String = "" "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " ' around 600 bytes of etc. Public Sub Main() Dim s As String If Args.Count < 2 Then Error.Raise("Need number of iterations") For i As Integer = 0 To CInt(Args[1]) s &= Lipsum Next End and valgrind: $ valgrind -- gbx3 -- 0 2>&1 | grep -o "total heap usage.*" total heap usage: 338 allocs, 338 frees, 75,382 bytes allocated $ valgrind -- gbx3 -- 10 2>&1 | grep -o "total heap usage.*" total heap usage: 348 allocs, 348 frees, 115,222 bytes allocated $ valgrind -- gbx3 -- 100 2>&1 | grep -o "total heap usage.*" total heap usage: 438 allocs, 438 frees, 3,134,134 bytes allocated $ valgrind -- gbx3 -- 1000 2>&1 | grep -o "total heap usage.*" total heap usage: 1,338 allocs, 1,338 frees, 296,614,134 bytes allocated While the numbers of allocations line up perfectly with the Gambas code that you see, you can guess from those samples regarding "bytes allocated" that the cumulative memory usage grows almost quadratically in the number of iterations, which may at least count as some evidence for a plain realloc and copy. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Tue Mar 5 22:20:38 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 16:20:38 -0500 (EST) Subject: [Gambas-user] A friendly face on LibreOffice towards Gambas In-Reply-To: References: <1691758793.117738657.1551668496547.JavaMail.zimbra@exede.net> <823745528.117770729.1551671453501.JavaMail.zimbra@exede.net> Message-ID: <633679069.119880693.1551820838214.JavaMail.zimbra@exede.net> Hi B, Would it be possible for you to record a sample of one of your chart productions? Or maybe a couple if you have different flavors. Take it from having loading .CSV file all the way to saving the image. It would be nice to have a definite target to aim for. Well, more specifically, which functionality I have to span. Then go into the macro editor, copy and paste the generated code into a text file, then email it to me at cedron at exede dot net. Thanks, progress is being made, but plans are going awry. Ced ----- Original Message ----- From: "Bruce" Interesting concept! My own experiences with LO "macro programming" left me somewhat less than enthused. The object module is apparently a mystical secret known only to the inner circle and their publicized documentation about as transparent as a brick. Now something that would do what you propose above would be fantastic, but then again I would be overjoyed if not ecstatic with a library that just let me make LO graphs with data provided by a Gambas program through a somewhat "static" interface. [...snip...] cheers B ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Tue Mar 5 22:24:35 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 16:24:35 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <0d5d2190-55a9-3419-cb61-6ce06b25f299@gmail.com> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <127119625.119812237.1551818372112.JavaMail.zimbra@exede.net> <0d5d2190-55a9-3419-cb61-6ce06b25f299@gmail.com> Message-ID: <681325954.119883202.1551821075134.JavaMail.zimbra@exede.net> Okay, Open String it is. Good to know, thanks. ----- Original Message ----- From: "Beno?t Minisini" > I knew about, and was referring to: > > http://gambaswiki.org/wiki/lang/alloc > http://gambaswiki.org/wiki/lang/memory > http://gambaswiki.org/wiki/lang/free You must use these functions only to deal with extern function in shared libraries. Don't use them with standard Gambas code. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Tue Mar 5 22:48:59 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 5 Mar 2019 22:48:59 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> Message-ID: Le 05/03/2019 ? 22:03, Cedron Dawg a ?crit?: > A little thinking helps. I'm going with alloc/memory/free, because I have an idea how much space I will need. > > Having +=, -=, *=, etc is a huge plus for me compared to other BASICs. > > Open question (also asked at forum.gambas.one) to all. > > Do you prefer > > Inc x > Dec x > > or > > x += 1 > x -= 1 > > ? > No difference, it compiles to the same bytecode. -- Beno?t Minisini From cedron at exede.net Tue Mar 5 22:58:15 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 5 Mar 2019 16:58:15 -0500 (EST) Subject: [Gambas-user] Is the &= efficient? In-Reply-To: References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> Message-ID: <11454120.119927424.1551823095024.JavaMail.zimbra@exede.net> I'm sorry, I should have specified, I meant on a syntactic sweetness scale. ----- Original Message ----- From: "Beno?t Minisini" > Do you prefer > > Inc x > Dec x > > or > > x += 1 > x -= 1 > > ? > No difference, it compiles to the same bytecode. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Wed Mar 6 14:25:13 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 08:25:13 -0500 (EST) Subject: [Gambas-user] Wiki Suggestion: TabStrip Message-ID: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> http://gambaswiki.org/wiki/comp/gb.qt4/tabstrip At the bottom, append something like: ------------------------------------------------------------ Getting Started Step 1. Select Tabstrip from the Container Tab of Control Selection Step 2. Drag onto the Form (or other container), place and size as desired Step 3. Select Name from the Properties (Recommended: Hit [Home] type in identifier and leave "TabStrip" as a suffix) Step 4. Select Count and enter the number of tabs wanted Step 5. For each tab: A) Click on the Tab B) Select Text property and enter the tab caption. C) Select Tooltip property and enter a meaningful description From bagonergi at gmail.com Wed Mar 6 15:19:11 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 6 Mar 2019 15:19:11 +0100 Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> Message-ID: Il giorno mer 6 mar 2019 alle ore 14:26 Cedron Dawg ha scritto: > http://gambaswiki.org/wiki/comp/gb.qt4/tabstrip > > At the bottom, append something like: > > ------------------------------------------------------------ > > Getting Started > > Step 1. Select Tabstrip from the Container Tab of Control Selection > > Step 2. Drag onto the Form (or other container), place and size as desired > > Step 3. Select Name from the Properties > (Recommended: Hit [Home] type in identifier and leave "TabStrip" as a > suffix) > > Step 4. Select Count and enter the number of tabs wanted > > Step 5. For each tab: > > A) Click on the Tab > B) Select Text property and enter the tab caption. > C) Select Tooltip property and enter a meaningful description > > Hi Cedron, I'm glad you like Gambas, I give you my welcome, an ignorant like me need the help of capable people :-) Each of us (as long as they are registered to the bugtraker) can write in the wiki. Just a note, I suggest to remove "place and size as desired" in point two, because normally in the standard forms the measure is given by the containers, as you can see from the construction of the forms made by Benoit in the IDE. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Wed Mar 6 15:25:20 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 6 Mar 2019 15:25:20 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <11454120.119927424.1551823095024.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> <11454120.119927424.1551823095024.JavaMail.zimbra@exede.net> Message-ID: I like very much Inc and Dec Il giorno mar 5 mar 2019 alle ore 22:59 Cedron Dawg ha scritto: > I'm sorry, I should have specified, I meant on a syntactic sweetness scale. > > > ----- Original Message ----- > From: "Beno?t Minisini" > > Do you prefer > > > > Inc x > > Dec x > > > > or > > > > x += 1 > > x -= 1 > > > > ? > > > > No difference, it compiles to the same bytecode. > > -- > Beno?t Minisini > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Wed Mar 6 15:57:12 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 09:57:12 -0500 (EST) Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> Message-ID: <1872920738.120707306.1551884232122.JavaMail.zimbra@exede.net> Hi Gianluigi, Thank you very much for the welcome. I am not just liking Gambas, I am loving it. It is by far the best IDE I've ever used. This is how VB should have been done. In the last few days I've been diving into LibreOffice Macros (i.e. Basic). They are trying to emulate VBA instead of improving it. I can understand that as a goal for them considering the context, but yuck, nothing is easy. The constrast is incredible. And their editor inserts tab characters. I'm a bit overwhelmed right now by all the new stuff I am learning and getting used to. Adding editing the Wiki properly to the list is just a bit too much. If you or someone could just slap this in for me with your suggestion included I promise I'll learn how to do it later. On top of that, I don't think I am capable enough yet to know the right things to write. If this were in a business setting, proper procedure would be to have at least two sets of eyeballs approve anything to be put in production (i.e. online). That is probably a good idea here too, I might write something else really not right and it might not be caught for a while and a whole lot of new users could be misled. My hangup was figuring out I had to set the Count property to get the tabs. Seems obvious in hindsight, and makes it really easy, I couldn't find any reference anywhere on how to do that. Trying to find a sample from the farm was like looking for a needle in a haystack. ;-) Warm regards, Ced ----- Original Message ----- From: "Gianluigi" Hi Cedron, I'm glad you like Gambas, I give you my welcome, an ignorant like me need the help of capable people :-) Each of us (as long as they are registered to the bugtraker) can write in the wiki. Just a note, I suggest to remove "place and size as desired" in point two, because normally in the standard forms the measure is given by the containers, as you can see from the construction of the forms made by Benoit in the IDE. Regards Gianluigi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Wed Mar 6 18:40:38 2019 From: taboege at gmail.com (Tobias Boege) Date: Wed, 6 Mar 2019 18:40:38 +0100 Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> Message-ID: <20190306174038.GA27111@highrise.localdomain> On Wed, 06 Mar 2019, Cedron Dawg wrote: > http://gambaswiki.org/wiki/comp/gb.qt4/tabstrip > > At the bottom, append something like: > > ------------------------------------------------------------ > > Getting Started > > Step 1. Select Tabstrip from the Container Tab of Control Selection > > Step 2. Drag onto the Form (or other container), place and size as desired > > Step 3. Select Name from the Properties > (Recommended: Hit [Home] type in identifier and leave "TabStrip" as a suffix) > > Step 4. Select Count and enter the number of tabs wanted > > Step 5. For each tab: > > A) Click on the Tab > B) Select Text property and enter the tab caption. > C) Select Tooltip property and enter a meaningful description > I did something of that sort but left out: - the non-tabstrip-specific parts, - the naming recommendation, - the Tooltip part because according to my tests, the Tooltip is a property of the whole TabStrip, it cannot be set for each tab individually. I don't think it is too concise for newcomers now, but you'll know better. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Wed Mar 6 18:51:21 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 12:51:21 -0500 (EST) Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: <20190306174038.GA27111@highrise.localdomain> References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> <20190306174038.GA27111@highrise.localdomain> Message-ID: <1269951474.121019383.1551894681005.JavaMail.zimbra@exede.net> Thank you so much. The recommendations are superfluous to the critical information which you captured nicely. Indeed I am a newcomer. Still learning. P.S. I am using Inc and Dec exclusively. ----- Original Message ----- From: "Tobias Boege" I did something of that sort but left out: - the non-tabstrip-specific parts, - the naming recommendation, - the Tooltip part because according to my tests, the Tooltip is a property of the whole TabStrip, it cannot be set for each tab individually. I don't think it is too concise for newcomers now, but you'll know better. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Wed Mar 6 18:56:22 2019 From: taboege at gmail.com (Tobias Boege) Date: Wed, 6 Mar 2019 18:56:22 +0100 Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: <1269951474.121019383.1551894681005.JavaMail.zimbra@exede.net> References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> <20190306174038.GA27111@highrise.localdomain> <1269951474.121019383.1551894681005.JavaMail.zimbra@exede.net> Message-ID: <20190306175622.GB27111@highrise.localdomain> On Wed, 06 Mar 2019, Cedron Dawg wrote: > P.S. I am using Inc and Dec exclusively. > So do I, except when I need to take a logarithm :-) -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bagonergi at gmail.com Wed Mar 6 19:26:02 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 6 Mar 2019 19:26:02 +0100 Subject: [Gambas-user] Wiki Suggestion: TabStrip In-Reply-To: <20190306175622.GB27111@highrise.localdomain> References: <368817367.120572685.1551878713516.JavaMail.zimbra@exede.net> <20190306174038.GA27111@highrise.localdomain> <1269951474.121019383.1551894681005.JavaMail.zimbra@exede.net> <20190306175622.GB27111@highrise.localdomain> Message-ID: > > I did something of that sort but left out: > > - the non-tabstrip-specific parts, > - the naming recommendation, > - the Tooltip part because according to my tests, the Tooltip > is a property of the whole TabStrip, it cannot be set for > each tab individually. > > I don't think it is too concise for newcomers now, but you'll > know better. > > Thanks Tobias, you pulled me off the ash heap :-) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Wed Mar 6 20:57:42 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 14:57:42 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request Message-ID: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> Question: Which is preferred: "Function .. As .." -OR- "Sub .. As .." ? Anybody have a strong opinion? I lean towards, and am using, the latter. A step away from BASIC perhaps, but one fewer thing a newbie has to learn. More elegant. Request: Would it be possible to make subs return multiple values like Python can? That can be really handy. Thanks. From taboege at gmail.com Wed Mar 6 21:28:47 2019 From: taboege at gmail.com (Tobias Boege) Date: Wed, 6 Mar 2019 21:28:47 +0100 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> Message-ID: <20190306202847.GC27111@highrise.localdomain> On Wed, 06 Mar 2019, Cedron Dawg wrote: > Question: > > Which is preferred: "Function .. As .." -OR- "Sub .. As .." ? > > Anybody have a strong opinion? > > I lean towards, and am using, the latter. A step away from BASIC perhaps, but one fewer thing a newbie has to learn. More elegant. > I personally use Function for pure functions, that take input and return a value without affecting or being affected by state of the current object. I use Sub for subroutines in the sense that they execute code that might modify state but don't necessarily return a value. So in my code you'll never see "Function" without "As", but you will see "Sub" with or without "As". What I don't use is the third synonym "Procedure". (Maybe I should employ that for "Sub that doesn't return a value"?) > Request: > > Would it be possible to make subs return multiple values like Python can? > > That can be really handy. I second that. Meanwhile you can emulate this through ByRef. It isn't pretty but IIRC the way ByRef is implemented could be used to make subroutines return multiple values. That requires a new syntax for a "tuple L-value" though. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From g4mba5 at gmail.com Wed Mar 6 21:29:25 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 6 Mar 2019 21:29:25 +0100 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> Message-ID: <3b9bc216-4459-15c7-b247-331d6134ae77@gmail.com> Le 06/03/2019 ? 20:57, Cedron Dawg a ?crit : > Question: > > Which is preferred: "Function .. As .." -OR- "Sub .. As .." ? > > Anybody have a strong opinion? > > I lean towards, and am using, the latter. A step away from BASIC > perhaps, but one fewer thing a newbie has to learn. More elegant. > > > Request: > > Would it be possible to make subs return multiple values like Python > can? > > That can be really handy. > You can use "ByRef" to return several values to the caller. I don't think I would find a good syntax for returning several values, nor a good implementation for that. Moreover I find that very difficult to read. Regards, -- Beno?t Minisini From jussi.lahtinen at gmail.com Wed Mar 6 22:12:41 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 6 Mar 2019 23:12:41 +0200 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <20190306202847.GC27111@highrise.localdomain> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> Message-ID: Why not to make object to hold the values and return it? Jussi On Wed, Mar 6, 2019 at 10:29 PM Tobias Boege wrote: > On Wed, 06 Mar 2019, Cedron Dawg wrote: > > Question: > > > > Which is preferred: "Function .. As .." -OR- "Sub .. As .." ? > > > > Anybody have a strong opinion? > > > > I lean towards, and am using, the latter. A step away from BASIC > perhaps, but one fewer thing a newbie has to learn. More elegant. > > > > I personally use Function for pure functions, that take input and return > a value without affecting or being affected by state of the current object. > I use Sub for subroutines in the sense that they execute code that might > modify state but don't necessarily return a value. So in my code you'll > never see "Function" without "As", but you will see "Sub" with or without > "As". What I don't use is the third synonym "Procedure". (Maybe I should > employ that for "Sub that doesn't return a value"?) > > > Request: > > > > Would it be possible to make subs return multiple values like Python can? > > > > That can be really handy. > > I second that. Meanwhile you can emulate this through ByRef. It isn't > pretty > but IIRC the way ByRef is implemented could be used to make subroutines > return multiple values. That requires a new syntax for a "tuple L-value" > though. > > Regards, > Tobi > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Wed Mar 6 22:26:38 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 16:26:38 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <20190306202847.GC27111@highrise.localdomain> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> Message-ID: <1320729224.121259604.1551907598521.JavaMail.zimbra@exede.net> No synonym called "Method"? You have to be careful not to slip down the slippery slope to #define hell. Where every maintainer who follows you has to not only try to figure out your organizational structure, but also has to go hunting down the definitions of your "language extension". Do a search on "Obsfucate C". I'm going to stick with sub for them all since as you point out, "function" without a return value is kind of meaningless. The kludge of calling it void is ugly too. One of the best features of BASIC is what it was designed for, a friendly face on FORTRAN, i.e. a language which is ideal for a first language. Hitting a new learner with a bunch of options, with no great gain from it, seems to me to be undesirable. ----- Original Message ----- From: "Tobias Boege" I personally use Function for pure functions, that take input and return a value without affecting or being affected by state of the current object. I use Sub for subroutines in the sense that they execute code that might modify state but don't necessarily return a value. So in my code you'll never see "Function" without "As", but you will see "Sub" with or without "As". What I don't use is the third synonym "Procedure". (Maybe I should employ that for "Sub that doesn't return a value"?) > Request: > > Would it be possible to make subs return multiple values like Python can? > > That can be really handy. I second that. Meanwhile you can emulate this through ByRef. It isn't pretty but IIRC the way ByRef is implemented could be used to make subroutines return multiple values. That requires a new syntax for a "tuple L-value" though. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Wed Mar 6 22:28:41 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 16:28:41 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <3b9bc216-4459-15c7-b247-331d6134ae77@gmail.com> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <3b9bc216-4459-15c7-b247-331d6134ae77@gmail.com> Message-ID: <170873218.121261621.1551907721425.JavaMail.zimbra@exede.net> For syntax, the Python model is good: >From the caller: a, b, c = FindComplicatedValues( w, x, y, z ) In the sub: return a, b ,c I think it is conceputally better to think of the calling arguments as a "send" to the sub and the return arguments as a "recv". In my prefixing, I use, "arg" for a value this is passed, and "ret" for a value that is expected to be updated. The problem is without that, which is merely a convention, a user may not know, pass a value to a sub and have it updated without realizing that that would happen. Those can be hard bugs to find. Since you have bytecode interpreter, you can mess with the "processor architecture" if you want to. Not sure how either you or Python does it, but it can go something like this: On the call: push arguments on the stack push references to return values push the instruction pointer In the sub: all data access on the return values is done by the reference from the stack (that part of the frame is read-only) On the return: pop the instruction pointer be on your merry way I'm wanting to see Gambas crush Python. I like Python a lot better than C/Java or any of the scripters, but the lack of hard typing, and the use of enforced indentation to save control structure terminators is a little distasteful to me. ----- Original Message ----- From: "Beno?t Minisini" You can use "ByRef" to return several values to the caller. I don't think I would find a good syntax for returning several values, nor a good implementation for that. Moreover I find that very difficult to read. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Wed Mar 6 22:29:43 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 16:29:43 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> Message-ID: <372971419.121262363.1551907783467.JavaMail.zimbra@exede.net> I've done that in a few instances (pun intended) already, but the proliferation of classes in my code is already a lot to keep track of. ----- Original Message ----- From: "Jussi Lahtinen" Why not to make object to hold the values and return it? Jussi From jussi.lahtinen at gmail.com Wed Mar 6 22:35:57 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 6 Mar 2019 23:35:57 +0200 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <372971419.121262363.1551907783467.JavaMail.zimbra@exede.net> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> <372971419.121262363.1551907783467.JavaMail.zimbra@exede.net> Message-ID: Variant array is another choice. Jussi On Wed, Mar 6, 2019 at 11:30 PM Cedron Dawg wrote: > I've done that in a few instances (pun intended) already, but the > proliferation of classes in my code is already a lot to keep track of. > > ----- Original Message ----- > From: "Jussi Lahtinen" > > Why not to make object to hold the values and return it? > > > Jussi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Wed Mar 6 22:36:30 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 6 Mar 2019 22:36:30 +0100 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> Message-ID: Am 06.03.19 um 22:12 schrieb Jussi Lahtinen: > Why not to make object to hold the values and return it? This is what I do. Or return a collection. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From cedron at exede.net Wed Mar 6 22:45:17 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 16:45:17 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <20190306202847.GC27111@highrise.localdomain> <372971419.121262363.1551907783467.JavaMail.zimbra@exede.net> Message-ID: <957662967.121275083.1551908717219.JavaMail.zimbra@exede.net> Thanks for the suggestions, but I'm not lacking in workaround alternatives. What I am advocating is what I believe would be an improvement to the language, much simpler to do by the programmer, and much easier to understand by the reader. I'm also trying to pre-empt arguments from Python programmers who make that an objection to switching. Once you are used to it, it's quite nice. ----- Original Message ----- From: "Jussi Lahtinen" Jussi From cedron at exede.net Wed Mar 6 22:49:12 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 6 Mar 2019 16:49:12 -0500 (EST) Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <3b9bc216-4459-15c7-b247-331d6134ae77@gmail.com> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <3b9bc216-4459-15c7-b247-331d6134ae77@gmail.com> Message-ID: <1108561040.121278459.1551908952772.JavaMail.zimbra@exede.net> You can also think of it as putting all the return values at the end of the calling arguments as "byref" arguments under the covers. ----- Original Message ----- From: "Beno?t Minisini" You can use "ByRef" to return several values to the caller. I don't think I would find a good syntax for returning several values, nor a good implementation for that. Moreover I find that very difficult to read. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From matthew.charles.collins.75 at gmail.com Thu Mar 7 00:28:27 2019 From: matthew.charles.collins.75 at gmail.com (Matthew Collins) Date: Wed, 6 Mar 2019 23:28:27 +0000 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> Message-ID: <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> Your example only notifies on delete and not create (the last event set)... Please try out this new runnable example in the wiki: http://gambaswiki.org/wiki/comp/gb.inotify/watch Matt > On 2 Mar 2019, at 19:33, T Lee Davidson wrote: > >> On 3/2/19 2:22 PM, Tobias Boege wrote: >> [snip] >> Indeed, the classes were renamed later, and possibly redesigned >> (I don't remember, but let's see): >>> But when I want to run his code: >>> >>> Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As >>> "GambasDirectory" >>> >>> I get an error "too many arguments" ("trop d'arguments" my installation >>> being in French). >>> >>> Which syntax should be correct? >>> >> According to the documentation [1] this is the correct signature and >> the source code agrees. You should see (or be able to find in the >> "Debugging" tab of the panel on the bottom of the Gambas IDE window) >> a stack trace when an error happens. Is the error raised in your code >> or does the stack trace indicate that comes from *inside* gb.inotify? > [snip] > > Indeed, the classes were redesigned. The 'too many arguments' error is caused by the parameters in the event handler's (Create, Delete) signatures. > > The example needs a little reworking: > > ' Gambas module file > > Public Sub Main() > ' Disable all unneeded events to increase performance > Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" > > ' Capture creation and deletion of files or directories > hWatch.Events[Watch.Create] = True > hWatch.Events[Watch.Delete] = True > Print "I'm watching... You may now start Gambas projects." > End > > Public Sub GambasDirectory_Create() > If Not Watch.IsDir Then Return > Print "New directory for Gambas process";; Watch.Name;; " - ";; > With Split(File.Load("/proc" &/ Watch.Name &/ "cmdline"), "/") > Print "which is";; Left$(.[.Max], -1) > End With > End > > Public Sub GambasDirectory_Delete() > If Not Watch.IsDir Then Return > ' The directory in /proc/ may be removed at this time so we can't > ' get any more information. > Print "Gambas process";; Watch.Name;; "terminated (normally)" > End > > > ___ > Lee > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Mar 7 00:44:15 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 6 Mar 2019 18:44:15 -0500 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> Message-ID: That actually wasn't my example. It was a very quick modification of an outdated example. I did not test it for proper operation since I figured it would be enough to get the OP started. Thank you for the correction. I have deleted the commented lines in the Wiki example to avoid confusion. ___ Lee On 3/6/19 6:28 PM, Matthew Collins wrote: > Your example only notifies on delete and not create (the last event set)... > > Please try out this new runnable example in the wiki: > http://gambaswiki.org/wiki/comp/gb.inotify/watch > > Matt > > On 2 Mar 2019, at 19:33, T Lee Davidson > wrote: > >> On 3/2/19 2:22 PM, Tobias Boege wrote: >> [snip] >>> Indeed, the classes were renamed later, and possibly redesigned >>> (I don't remember, but let's see): >>>> But when I want to run his code: >>>> >>>> Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As >>>> "GambasDirectory" >>>> >>>> I get an error "too many arguments" ("trop d'arguments" my installation >>>> being in French). >>>> >>>> Which syntax should be correct? >>>> >>> According to the documentation [1] this is the correct signature and >>> the source code agrees. You should see (or be able to find in the >>> "Debugging" tab of the panel on the bottom of the Gambas IDE window) >>> a stack trace when an error happens. Is the error raised in your code >>> or does the stack trace indicate that comes from *inside* gb.inotify? >> [snip] >> >> Indeed, the classes were redesigned. The 'too many arguments' error is caused by the parameters in the event handler's >> (Create, Delete) signatures. >> >> The example needs a little reworking: >> >> ' Gambas module file >> >> Public Sub Main() >> ?' Disable all unneeded events to increase performance >> ?Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" >> >> ?' Capture creation and deletion of files or directories >> ?hWatch.Events[Watch.Create] = True >> ?hWatch.Events[Watch.Delete] = True >> ?Print "I'm watching... You may now start Gambas projects." >> End >> >> Public Sub GambasDirectory_Create() >> ?If Not Watch.IsDir Then Return >> ?Print "New directory for Gambas process";; Watch.Name;; " - ";; >> ?With Split(File.Load("/proc" &/ Watch.Name &/ "cmdline"), "/") >> ???Print "which is";; Left$(.[.Max], -1) >> ?End With >> End >> >> Public Sub GambasDirectory_Delete() >> ?If Not Watch.IsDir Then Return >> ?' The directory in /proc/ may be removed at this time so we can't >> ?' get any more information. >> ?Print "Gambas process";; Watch.Name;; "terminated (normally)" >> End >> >> >> ___ >> Lee >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From tmorehen at ajm-software.com Thu Mar 7 00:47:38 2019 From: tmorehen at ajm-software.com (Tony Morehen) Date: Wed, 6 Mar 2019 18:47:38 -0500 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> Message-ID: <9bc24d4c-e439-cd5c-506b-55be4cc94b51@ajmconsulting.ca> An alternative to returning multiple values is to return a Gambas native class such as point, rect, rectf etc It may be worthwhile to add some other native classes to Gambas, such as: tuple (variant, variant) ntuple (integer,variant) ftuple (float, variant) stuple (string, variant) On 2019-03-06 2:57 p.m., Cedron Dawg wrote: > Question: > > Which is preferred: "Function .. As .." -OR- "Sub .. As .." ? > > Anybody have a strong opinion? > > I lean towards, and am using, the latter. A step away from BASIC perhaps, but one fewer thing a newbie has to learn. More elegant. > > > Request: > > Would it be possible to make subs return multiple values like Python can? > > That can be really handy. > > > Thanks. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Thu Mar 7 01:05:32 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 6 Mar 2019 19:05:32 -0500 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> <2aac1ba1-d3ef-5e3b-7822-70abbc5144b8@gmail.com> <963903d4-e673-3a77-48fc-b281d9626d04@gmail.com> <5ace43f5-59b1-2af2-0555-6e1109fa95dc@gmail.com> <4c25e592-128a-b79b-280f-b641d3f8fc0e@gmail.com> Message-ID: <965c0308-41dd-6ad3-6696-a7b596b01f48@gmail.com> On 3/4/19 4:55 PM, T Lee Davidson wrote: > On?3/3/19?7:40?PM,?Beno?t?Minisini?wrote: >> Le?02/03/2019???02:35,?T?Lee?Davidson?a??crit?: >>> On?3/1/19?5:20?PM,?Beno?t?Minisini?wrote: >>>> Does?it?change?anything?if?you?run?your?program?with?"GB_NO_JIT=1"?set? >>> >>> No,?it?still?crashes: >> ?>?... >> >> Does?it?still?crash?with?the?latest?commit? > > Yes,?with?Gambas?version?3.12.90?f2de1bc27?(master),?it?still?crashes. My system's package manager has updated Gambas from the OBS repo with a second build (?) of commit f2de1bc27. Now, CrashG3 does NOT crash when printing the non-printable characters! However, my test TerminalView project still does crash. ' Gambas class file Public Sub Button1_Click() TerminalView1.Print(Chr$(03) & Chr$(253)) Debug Chr$(254) & Chr$(254) & Chr$(88) & Chr$(224) & Chr$(03) & Chr$(253) End Debug prints with no problem. The application crashes only after the second click on Button1. Replacing Chr$(03) with Chr$(01) through Chr$(06) & Chr$(16) one at a time also cause a crash. Since there doesn't seem to be any significant changes between commit f2de1bc27 and commit 0614a255, I thought perhaps I could compile gbx3 with debugging info and temporarily replace the installed gbx3 for testing. So, I did: cd gambas git pull ./reconf-all ./configure -C make [snip] CC gbx3-gbx_extern.o gbx_extern.c:781:1: error: unknown type name ?EXTERN_FUNC_INFO? EXTERN_FUNC_INFO EXTERN_get_function_info(CLASS_EXTERN *ext) ^ gbx_extern.c: In function ?EXTERN_get_function_info?: gbx_extern.c:783:2: error: unknown type name ?EXTERN_FUNC_INFO? EXTERN_FUNC_INFO func_info = { NULL, NULL }; ^ gbx_extern.c:783:2: warning: initialization makes integer from pointer without a cast [enabled by default] gbx_extern.c:783:2: warning: (near initialization for ?func_info?) [enabled by default] gbx_extern.c:783:2: warning: excess elements in scalar initializer [enabled by default] gbx_extern.c:783:2: warning: (near initialization for ?func_info?) [enabled by default] Makefile:1917: recipe for target 'gbx3-gbx_extern.o' failed make[4]: *** [gbx3-gbx_extern.o] Error 1 make[4]: Leaving directory '/home/terry/Coding/Sources/gambas/main/gbx' Makefile:449: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/home/terry/Coding/Sources/gambas/main' Makefile:380: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/home/terry/Coding/Sources/gambas/main' Makefile:427: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/terry/Coding/Sources/gambas' Makefile:367: recipe for target 'all' failed make: *** [all] Error 2 ___ Lee From tmorehen at ajm-software.com Thu Mar 7 01:11:09 2019 From: tmorehen at ajm-software.com (Tony Morehen) Date: Wed, 6 Mar 2019 19:11:09 -0500 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190302200141.7bc4c5a3.alarch@alarch.pw> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> Message-ID: gbAutoMount (Software Farm / System) uses udisks2 to monitor automounting of usb sticks.? It may help you. On 2019-03-02 2:01 p.m., Alarc'h wrote: > Hello, > > This message is more particularly intended for Tobias because it > concerns the gb.inotify component. > > I want to make a small application that can detect the mounting or > unmounting of usb sticks in the /media/username directory in order to > be able to propose formatting or creating a bootable iso image on the > key. > > I thought I would use inotify to detect these events and I saw that > there was already a class dedicated to this. I downloaded two examples > that Tobias proposed several years ago to this url: > > http://gambas.8142.n7.nabble.com/gb-inotify-to-capture-filesystem-events-td45299.html > > When I opened the projects I saw that he was instantiating Inotify > objects, I think that was the name he had first thought of. The > component documentation says to use Watch. I thought that by replacing > Inotify with Watch in the code I would be able to use these examples, > because one of them seems to do exactly what I need. > > But when I want to run his code: > > Dim hWatch As New Watch ("/tmp/gambas." & Str$(User.Id), True, 0) As > "GambasDirectory" > > I get an error "too many arguments" ("trop d'arguments" my installation > being in French). > > Which syntax should be correct? > From t.lee.davidson at gmail.com Thu Mar 7 01:30:26 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 6 Mar 2019 19:30:26 -0500 Subject: [Gambas-user] Another syntax sweetness question and request In-Reply-To: <9bc24d4c-e439-cd5c-506b-55be4cc94b51@ajmconsulting.ca> References: <177831217.121154125.1551902262862.JavaMail.zimbra@exede.net> <9bc24d4c-e439-cd5c-506b-55be4cc94b51@ajmconsulting.ca> Message-ID: <29f8f287-bc21-2f50-a143-ead36866a0d7@gmail.com> I would think a Structure could be used for that as well. But the Wiki says, "DON'T USE STRUCTURES, UNLESS YOU HAVE TO!" ___ Lee On 3/6/19 6:47 PM, Tony Morehen wrote: > An alternative to returning multiple values is to return a Gambas native class such as point, rect, rectf etc > > It may be worthwhile to add some other native classes to Gambas, such as: > > tuple (variant, variant) > > ntuple (integer,variant) > > ftuple (float, variant) > > stuple (string, variant) > > On 2019-03-06 2:57 p.m., Cedron Dawg wrote: >> Question: >> >> Which is preferred:? "Function? .. As .." -OR-? "Sub? .. As .." ? >> >> Anybody have a strong opinion? >> >> I lean towards, and am using, the latter.? A step away from BASIC perhaps, but one fewer thing a newbie has to learn.? More >> elegant. >> >> >> Request: >> >> Would it be possible to make subs return multiple values like Python can? >> >> That can be really handy. >> >> >> Thanks. >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Thu Mar 7 07:16:21 2019 From: taboege at gmail.com (Tobias Boege) Date: Thu, 7 Mar 2019 07:16:21 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> Message-ID: <20190307061621.GD27111@highrise.localdomain> On Wed, 06 Mar 2019, T Lee Davidson wrote: > On 3/6/19 6:28 PM, Matthew Collins wrote: > > On 2 Mar 2019, at 19:33, T Lee Davidson > wrote: > > > On 3/2/19 2:22 PM, Tobias Boege wrote: > > > Indeed, the classes were redesigned. The 'too many arguments' error > > > is caused by the parameters in the event handler's (Create, Delete) > > > signatures. > > > > > > The example needs a little reworking: > > > > > > ' Gambas module file > > > > > > Public Sub Main() > > > ?' Disable all unneeded events to increase performance > > > ?Dim hWatch As New Watch("/tmp/gambas." & Str$(User.Id), True, 0) As "GambasDirectory" > > > > > > ?' Capture creation and deletion of files or directories > > > ?hWatch.Events[Watch.Create] = True > > > ?hWatch.Events[Watch.Delete] = True > > > ?Print "I'm watching... You may now start Gambas projects." > > > End > > > > > > Public Sub GambasDirectory_Create() > > > ?If Not Watch.IsDir Then Return > > > ?Print "New directory for Gambas process";; Watch.Name;; " - ";; > > > ?With Split(File.Load("/proc" &/ Watch.Name &/ "cmdline"), "/") > > > ???Print "which is";; Left$(.[.Max], -1) > > > ?End With > > > End > > > > > > Public Sub GambasDirectory_Delete() > > > ?If Not Watch.IsDir Then Return > > > ?' The directory in /proc/ may be removed at this time so we can't > > > ?' get any more information. > > > ?Print "Gambas process";; Watch.Name;; "terminated (normally)" > > > End > > > > > Your example only notifies on delete and not create (the last event set)... > > > > Please try out this new runnable example in the wiki: > > http://gambaswiki.org/wiki/comp/gb.inotify/watch > > > That actually wasn't my example. It was a very quick modification of an > outdated example. I did not test it for proper operation since I figured it > would be enough to get the OP started. > > Thank you for the correction. I have deleted the commented lines in the Wiki example to avoid confusion. > As far as I can see, you replaced hWatch.Events[Watch.Create] = True ?hWatch.Events[Watch.Delete] = True by hWatch.Events[Watch.Delete Or Watch.Create] = True Having to do this comes almost surely from a bug! It should be possible to set events independently, because otherwise why would we have an array accessor syntax for them instead of just a bitmask property? The current implementation was done in the redesign phase mentioned earlier in this thread and it doesn't use the RHS of the assignment at all (try assigning False to .events[Watch.Create Or Watch.Delete], it'll still work). That's a very strong sign it's an oversight bug. I'm going to fix it, then fix the wiki example because why are you watching "/" and observing changes? Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Thu Mar 7 07:27:13 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 7 Mar 2019 01:27:13 -0500 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190307061621.GD27111@highrise.localdomain> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> Message-ID: On 3/7/19 1:16 AM, Tobias Boege wrote: > As far as I can see, you replaced > > hWatch.Events[Watch.Create] = True > ?hWatch.Events[Watch.Delete] = True > > by > > hWatch.Events[Watch.Delete Or Watch.Create] = True > > Having to do this comes almost surely from a bug! It should be possible > to set events independently, because otherwise why would we have an > array accessor syntax for them instead of just a bitmask property? > > The current implementation was done in the redesign phase mentioned > earlier in this thread and it doesn't use the RHS of the assignment > at all (try assigning False to .events[Watch.Create Or Watch.Delete], > it'll still work). That's a very strong sign it's an oversight bug. > I'm going to fix it, then fix the wiki example because why are you > watching "/" and observing changes? > > Regards, > Tobi Just FYI, Tobi, the documentation [0] mentions that the Events argument for the property signature ("hWatch.Events [ Events As Integer ] = aBoolean) should be a bitwise Or'd set: "Turn monitoring on a non-empty set (bitwise OR'd) of Watch constants on or off." [0] http://gambaswiki.org/wiki/comp/gb.inotify/.watch.events/_put I don't know if that makes any difference to your conclusion. ___ Lee From taboege at gmail.com Thu Mar 7 07:52:39 2019 From: taboege at gmail.com (Tobias Boege) Date: Thu, 7 Mar 2019 07:52:39 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> Message-ID: <20190307065239.GE27111@highrise.localdomain> On Thu, 07 Mar 2019, T Lee Davidson wrote: > On 3/7/19 1:16 AM, Tobias Boege wrote: > > As far as I can see, you replaced > > > > hWatch.Events[Watch.Create] = True > > ?hWatch.Events[Watch.Delete] = True > > > > by > > > > hWatch.Events[Watch.Delete Or Watch.Create] = True > > > > Having to do this comes almost surely from a bug! It should be possible > > to set events independently, because otherwise why would we have an > > array accessor syntax for them instead of just a bitmask property? > > > > The current implementation was done in the redesign phase mentioned > > earlier in this thread and it doesn't use the RHS of the assignment > > at all (try assigning False to .events[Watch.Create Or Watch.Delete], > > it'll still work). That's a very strong sign it's an oversight bug. > > I'm going to fix it, then fix the wiki example because why are you > > watching "/" and observing changes? > > > > Regards, > > Tobi > > Just FYI, Tobi, the documentation [0] mentions that the Events argument for > the property signature ("hWatch.Events [ Events As Integer ] = aBoolean) > should be a bitwise Or'd set: > > "Turn monitoring on a non-empty set (bitwise OR'd) of Watch constants on or off." > > [0] http://gambaswiki.org/wiki/comp/gb.inotify/.watch.events/_put > > I don't know if that makes any difference to your conclusion. > No, because I wrote that page and I also wrote the initial component, there can't be a discrepancy here :-) The excerpt you quote doesn't say you have to specify all the events you want to watch as a bit-wise OR. It says you can use an OR of multiple events to turn them on or off in a single call -- a single event is also a bit-wise OR of events. You should still be able to activate or deactivate them individually at any time. Every use of `Watch.Events[Mask] = Value` sets all events in the Mask (an OR of event constants representing a set of events) to Value, without affecting the state of events outside the set. That's how it was supposed to be, how it was initially implemented, how it is documented inside the source code, how the array interface makes sense, it's just not what the current implementation does. (How are those Gambas test-suites coming along...?) Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Thu Mar 7 08:34:24 2019 From: cedron at exede.net (Cedron Dawg) Date: Thu, 7 Mar 2019 02:34:24 -0500 (EST) Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190307065239.GE27111@highrise.localdomain> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> <20190307065239.GE27111@highrise.localdomain> Message-ID: <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> I'm feeling prescient. I wrote this a few hours ago: https://forum.gambas.one/viewtopic.php?f=4&t=669 It's called "The True True" Not exactly spot on, but close. ----- Original Message ----- From: "Tobias Boege" No, because I wrote that page and I also wrote the initial component, there can't be a discrepancy here :-) The excerpt you quote doesn't say you have to specify all the events you want to watch as a bit-wise OR. It says you can use an OR of multiple events to turn them on or off in a single call -- a single event is also a bit-wise OR of events. You should still be able to activate or deactivate them individually at any time. Every use of `Watch.Events[Mask] = Value` sets all events in the Mask (an OR of event constants representing a set of events) to Value, without affecting the state of events outside the set. That's how it was supposed to be, how it was initially implemented, how it is documented inside the source code, how the array interface makes sense, it's just not what the current implementation does. (How are those Gambas test-suites coming along...?) Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From rwe-sse at osnanet.de Thu Mar 7 09:11:18 2019 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 7 Mar 2019 09:11:18 +0100 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> Message-ID: <2babae0e-d8d6-3d97-ab90-7ba9dc8df9f7@osnanet.de> Am 05.03.19 um 22:03 schrieb Cedron Dawg: > A little thinking helps. I'm going with alloc/memory/free, because I have an idea how much space I will need. > > Having +=, -=, *=, etc is a huge plus for me compared to other BASICs. Oh :) I didn't realize they are there, should have a look in the docs more often... Up to now, I have used += and &= only. > > Open question (also asked at forum.gambas.one) to all. > > Do you prefer > > Inc x > Dec x > > or > > x += 1 > x -= 1 > > ? > If it's only "1", I prefer Inc and Dec. But there is no "Inc x, 3" or "Inc(3) x" for instance, so I am forced to use +=. And last but not least, if there are more of these standing line-by-line, I would prefer += even for "1" to make it more clearly readable (for the reason above). Regards Rolf From adamnt42 at gmail.com Thu Mar 7 09:22:55 2019 From: adamnt42 at gmail.com (Bruce) Date: Thu, 7 Mar 2019 18:52:55 +1030 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> <20190307065239.GE27111@highrise.localdomain> <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> Message-ID: <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> Nothing is false! Therefore everything is true. This is getting very confusing. b On 7/3/19 6:04 pm, Cedron Dawg wrote: > I'm feeling prescient. I wrote this a few hours ago: > > https://forum.gambas.one/viewtopic.php?f=4&t=669 > > It's called "The True True" > > Not exactly spot on, but close. > > > ----- Original Message ----- > From: "Tobias Boege" > No, because I wrote that page and I also wrote the initial component, > there can't be a discrepancy here :-) > > The excerpt you quote doesn't say you have to specify all the events > you want to watch as a bit-wise OR. It says you can use an OR of > multiple events to turn them on or off in a single call -- a single > event is also a bit-wise OR of events. You should still be able to > activate or deactivate them individually at any time. > > Every use of `Watch.Events[Mask] = Value` sets all events in the > Mask (an OR of event constants representing a set of events) to Value, > without affecting the state of events outside the set. That's how > it was supposed to be, how it was initially implemented, how it is > documented inside the source code, how the array interface makes sense, > it's just not what the current implementation does. > > (How are those Gambas test-suites coming along...?) > > Regards, > Tobi > From adamnt42 at gmail.com Thu Mar 7 09:39:36 2019 From: adamnt42 at gmail.com (Bruce) Date: Thu, 7 Mar 2019 19:09:36 +1030 Subject: [Gambas-user] Is the &= efficient? In-Reply-To: <2babae0e-d8d6-3d97-ab90-7ba9dc8df9f7@osnanet.de> References: <629348460.119794132.1551817282150.JavaMail.zimbra@exede.net> <3b9d7d45-383d-3410-c375-9220b3ed235c@gmail.com> <1700176846.119862950.1551819825859.JavaMail.zimbra@exede.net> <2babae0e-d8d6-3d97-ab90-7ba9dc8df9f7@osnanet.de> Message-ID: <979b799d-7db9-e051-3a21-d6e6391b93c4@gmail.com> Inline. On 7/3/19 6:41 pm, Rolf-Werner Eilert wrote: > > If it's only "1", I prefer Inc and Dec. But there is no "Inc x, 3" or > "Inc(3) x" for instance, so I am forced to use +=. Agreed. Inc x means Increment x. Disagreed. Inc x, Sqrt(-1) or whatever. > > And last but not least, if there are more of these standing > line-by-line, I would prefer += even for "1" to make it more clearly > readable (for the reason above). I find += (and all its friends) very useful. On a case by case basis! An example. If we are doing a stepwise calculation involving references to some other objects then $iMystery = $iMystery + GetMagicNumber(CurrentIdx) a lot easier to debug some months later than $iMystery += GetMagicNumber(CurrentIdx) Alternatively, if it is a "simplistic" calculation, such as say Function HowOldWillIBeIn(Me as cOld, WhichYear as integer) as Integer Return Me.Age += WhichYear ' ymmv depending on your birthdate End b > > Regards > Rolf > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Thu Mar 7 09:59:18 2019 From: taboege at gmail.com (Tobias Boege) Date: Thu, 7 Mar 2019 09:59:18 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> <20190307065239.GE27111@highrise.localdomain> <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> Message-ID: <20190307085918.GF27111@highrise.localdomain> On Thu, 07 Mar 2019, Bruce wrote: > On 7/3/19 6:04 pm, Cedron Dawg wrote: > > I'm feeling prescient. I wrote this a few hours ago: > > > > https://forum.gambas.one/viewtopic.php?f=4&t=669 > > > > It's called "The True True" > > > > Not exactly spot on, but close. > > > Nothing is false! Therefore everything is true. > This is getting very confusing. > b > What is? The Watch.Events case or the arithmetic properties of True? I thought I made a good summary of the situation with this paragraph: > >> Every use of `Watch.Events[Mask] = Value` sets all events in the > >> Mask (an OR of event constants representing a set of events) to Value, > >> without affecting the state of events outside the set. That's how > >> it was supposed to be, how it was initially implemented, how it is > >> documented inside the source code, how the array interface makes sense, > >> it's just not what the current implementation does. Before my change an hour ago, the Watch.Events object would roughly do this (details omitted and written in Gambas): Public Sub _put(Value As Boolean, Mask As Integer) $hInotify.Events = Mask End where $hInotify is a hypothetical object representing the kernel's inotify watch and assigning to its Events property subscribes and unsubscribes certain events. What it should have done according to documentation, what it did initially and what it does now is: Public Sub _put(Value As Boolean, Mask As Integer) If Value Then $hInotify.Events = $hInotify.Events Or Mask Else $hInotify.Events = $hInotify.Events And Not Mask Endif End Notice how: - it doesn't ignore the Value argument anymore, - turns on/off only the events given in the Mask and leaves the other bits alone, - the Mask can be a single event constant or an OR of multiple of them. The faulty implementation was part of a big refactor done by Beno?t back in the day. I suspect he misjudged what the array accessors did before rewriting them from scratch. That's how the implementation and interface/intent drifted apart. And anyway, I imagine most users never touching Watch.Events directly because a Watch object auto- magically watches everything you wrote an event handler for. (That's what all gb.inotify users in the Gambas source tree do.) That could explain why it wasn't discovered before. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From adamnt42 at gmail.com Thu Mar 7 10:09:16 2019 From: adamnt42 at gmail.com (Bruce) Date: Thu, 7 Mar 2019 19:39:16 +1030 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190307085918.GF27111@highrise.localdomain> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190302192219.GA29749@highrise.localdomain> <03ca7e54-a673-17ae-51b7-7001a1d7651a@gmail.com> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> <20190307065239.GE27111@highrise.localdomain> <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> <20190307085918.GF27111@highrise.localdomain> Message-ID: <2cc924df-f595-b7b7-7809-55fa3f429ba5@gmail.com> On 7/3/19 7:29 pm, Tobias Boege wrote: > On Thu, 07 Mar 2019, Bruce wrote: >> On 7/3/19 6:04 pm, Cedron Dawg wrote: >>> I'm feeling prescient. I wrote this a few hours ago: >>> >>> https://forum.gambas.one/viewtopic.php?f=4&t=669 >>> >>> It's called "The True True" >>> >>> Not exactly spot on, but close. >>> >> Nothing is false! Therefore everything is true. >> This is getting very confusing. >> b >> > > What is? The Watch.Events case or the arithmetic properties of True? > I thought I made a good summary of the situation with this paragraph: > >>>> Every use of `Watch.Events[Mask] = Value` sets all events in the >>>> Mask (an OR of event constants representing a set of events) to Value, >>>> without affecting the state of events outside the set. That's how >>>> it was supposed to be, how it was initially implemented, how it is >>>> documented inside the source code, how the array interface makes sense, >>>> it's just not what the current implementation does. > > Before my change an hour ago, the Watch.Events object would roughly > do this (details omitted and written in Gambas): > > Public Sub _put(Value As Boolean, Mask As Integer) > $hInotify.Events = Mask > End > > where $hInotify is a hypothetical object representing the kernel's > inotify watch and assigning to its Events property subscribes and > unsubscribes certain events. What it should have done according > to documentation, what it did initially and what it does now is: > > Public Sub _put(Value As Boolean, Mask As Integer) > If Value Then > $hInotify.Events = $hInotify.Events Or Mask > Else > $hInotify.Events = $hInotify.Events And Not Mask > Endif > End > > Notice how: > > - it doesn't ignore the Value argument anymore, > - turns on/off only the events given in the Mask > and leaves the other bits alone, > - the Mask can be a single event constant or an > OR of multiple of them. > > The faulty implementation was part of a big refactor done by Beno?t > back in the day. I suspect he misjudged what the array accessors did > before rewriting them from scratch. That's how the implementation > and interface/intent drifted apart. And anyway, I imagine most users > never touching Watch.Events directly because a Watch object auto- > magically watches everything you wrote an event handler for. > (That's what all gb.inotify users in the Gambas source tree do.) > That could explain why it wasn't discovered before. > > Regards, > Tobi > Thanks Tobi, I was (WAS) getting confused (and worried) that a lot of general inotify stuff was about to dramtically change there for a minute. We use it (gb.inotify) sparingly but quite specifically. b From cedron at exede.net Thu Mar 7 13:49:11 2019 From: cedron at exede.net (Cedron Dawg) Date: Thu, 7 Mar 2019 07:49:11 -0500 (EST) Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <576DC45D-57E0-4346-B749-22B154FD11A1@gmail.com> <20190307061621.GD27111@highrise.localdomain> <20190307065239.GE27111@highrise.localdomain> <1302321395.121740862.1551944064428.JavaMail.zimbra@exede.net> <007454f6-4b37-704d-6caf-d3b015fc564d@gmail.com> Message-ID: <23571626.121914730.1551962951274.JavaMail.zimbra@exede.net> Bzzzt, rookie mistake. You are sentenced to doing a search on "IsNull vs IsNothing vs False", then you will surely be confused. I suppose you are going to try to tell me next that imaginary numbers aren't real. Ummmmm, wait a moment, uh, oh, hey a squirrel. Gotta run..... ----- Original Message ----- From: "Bruce" To: "user" Sent: Thursday, March 7, 2019 3:22:55 AM Subject: Re: [Gambas-user] Pb instanciating inotify watch Nothing is false! Therefore everything is true. This is getting very confusing. b From alarch at alarch.pw Thu Mar 7 19:24:05 2019 From: alarch at alarch.pw (Alarc'h) Date: Thu, 7 Mar 2019 19:24:05 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: References: <20190302200141.7bc4c5a3.alarch@alarch.pw> Message-ID: <20190307192405.58e5e68b.alarch@alarch.pw> Le Wed, 6 Mar 2019 19:11:09 -0500, Tony Morehen a ?crit : > gbAutoMount (Software Farm / System) uses udisks2 to monitor > automounting of usb sticks.? It may help you. > it's a gambas component relaying on udisks2 ? I can't find it on google. You know the exact name ? It seems to be exactly what I need... > ]---- -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From gambas.fr at gmail.com Thu Mar 7 19:28:06 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 7 Mar 2019 19:28:06 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190307192405.58e5e68b.alarch@alarch.pw> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> Message-ID: You will find it on the gambas farm... Le jeu. 7 mars 2019 ? 19:25, Alarc'h a ?crit : > > Le Wed, 6 Mar 2019 19:11:09 -0500, > Tony Morehen a ?crit : > > > gbAutoMount (Software Farm / System) uses udisks2 to monitor > > automounting of usb sticks. It may help you. > > > > it's a gambas component relaying on udisks2 ? I can't find it on > google. You know the exact name ? It seems to be exactly what I need... > > > ]---- > > > > -- > __ > __/o \_ > \____ \ > / \ > //\ \ > __/o \-//--\ \_/ > \____ ___ \ | > || \ |\ | > _|| _||_|| > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From cedron at exede.net Thu Mar 7 23:10:53 2019 From: cedron at exede.net (Cedron Dawg) Date: Thu, 7 Mar 2019 17:10:53 -0500 (EST) Subject: [Gambas-user] Another little Wiki fix. Message-ID: <1592801073.122550510.1551996653795.JavaMail.zimbra@exede.net> I thought this would be simple, so I logged in and sure enough I was able to. Then I wasn't sure where the fix was supposed to be. With modern redirects and all, I'm a nervous about it. So I did nothing. Rookies shouldn't be messing with production systems. Here is the issue: http://gambaswiki.org/wiki/lang/islcase http://gambaswiki.org/wiki/lang/islower For IsLCase there is IsLCase and IsLower, there appear to be two identical pages, except for the links on top, both listing both functions. The problem is both pages have have the LCase version in bold, and the index has two LCase entries having the two differnt URLs. http://gambaswiki.org/wiki/lang/ So it seems the index needs to be updated, and the /islower page needs to be changed to say IsLower. Is the index automatically updated from the header? Anyway, the same situation applies to IsUCase. I have a strong preference for IsLower/IsUpper and they seem to be hidden. I am coding using these instead of ASCII ranges in anticipation that someday they will be Internationalized, which seems to be a goal of other parts of Gambas. So, just curious, is that in the todo pile? Second, can somebody please fix that? Thanks. Ced From gambas.fr at gmail.com Fri Mar 8 09:25:33 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 8 Mar 2019 09:25:33 +0100 Subject: [Gambas-user] Suggestion Message-ID: Hi, The error display bar of the IDE is useful but having to manually close it every time makes me tired. I will suggest rather that the bar closes after 5 seconds and to have a button appearing in case of error in the stack with the number of errors not seen. this button could be placed on demand in the toolbar. and the icon would display a number corresponding to the uncommitted error. This method would not have the work space congested just for a simple warning. What do you think about this ? -- Fabien Bodard From chrisml at deganius.de Fri Mar 8 09:55:10 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 8 Mar 2019 09:55:10 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: References: Message-ID: <60507969-178a-8492-4bc2-0a6f2781b649@deganius.de> Am 08.03.19 um 09:25 schrieb Fabien Bodard: > The error display bar of the IDE is useful but having to manually > close it every time makes me tired. I will suggest rather that the bar > closes after 5 seconds and to have a button appearing in case of error > in the stack with the number of errors not seen. this button could be > placed on demand in the toolbar. and the icon would display a number > corresponding to the uncommitted error. > > This method would not have the work space congested just for a simple warning. > > What do you think about this ? ACK, it makes me tired also, but i would prefer if the error would be printed in the console instead of a button that I would have to click to see the error afterwards. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From bagonergi at gmail.com Fri Mar 8 10:16:40 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 10:16:40 +0100 Subject: [Gambas-user] Bugtracker Message-ID: I just reported an error (# 1549) and I received a receipt e-mail, but I don't see my error in the bugtracker. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 8 11:23:21 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 11:23:21 +0100 Subject: [Gambas-user] Bugtracker In-Reply-To: References: Message-ID: Il giorno ven 8 mar 2019 alle ore 10:16 Gianluigi ha scritto: > I just reported an error (# 1549) and I received a receipt e-mail, but I > don't see my error in the bugtracker. > > Regards > Gianluigi > ok, now I see it Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Mar 8 12:30:12 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 8 Mar 2019 12:30:12 +0100 Subject: [Gambas-user] Crash Gambas3.12.2 In-Reply-To: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> References: <8fb80765-c2d0-02d9-d6b3-827e89d14d80@gmail.com> Message-ID: Le 26/02/2019 ? 18:24, Pino Zollo a ?crit?: > Here it is....only 12 KB... > > Run it and Just click on the button. > > ...the IDE closes. > > Thanks > > Pino Zollo > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > The crash is finally fixed in commit https://gitlab.com/gambas/gambas/commit/c7d6ddd31fd9d285216101961b62e89fabf19749. Regards, -- Beno?t Minisini From bagonergi at gmail.com Fri Mar 8 15:47:07 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 15:47:07 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: References: Message-ID: Sorry Fabien, considering that Benoit has resisted for 5 hours without scold me, I would say to leave things as He think them. ;-D Gianluigi Il giorno ven 8 mar 2019 alle ore 09:26 Fabien Bodard ha scritto: > Hi, > The error display bar of the IDE is useful but having to manually > close it every time makes me tired. I will suggest rather that the bar > closes after 5 seconds and to have a button appearing in case of error > in the stack with the number of errors not seen. this button could be > placed on demand in the toolbar. and the icon would display a number > corresponding to the uncommitted error. > > This method would not have the work space congested just for a simple > warning. > > What do you think about this ? > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Fri Mar 8 16:38:24 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 8 Mar 2019 10:38:24 -0500 (EST) Subject: [Gambas-user] Download the Wiki Message-ID: <1049513261.123427416.1552059504247.JavaMail.zimbra@exede.net> Is there any way to download the Wiki so I can access it locally? I use it a lot and I would like to be able to work offline on a different computer. P.S. I posted an HTML file of system colors at GambasONE that you might find useful. https://forum.gambas.one/viewtopic.php?f=4&t=672 Title: Let's make 'em Garish From bagonergi at gmail.com Fri Mar 8 16:57:39 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 16:57:39 +0100 Subject: [Gambas-user] Download the Wiki In-Reply-To: <1049513261.123427416.1552059504247.JavaMail.zimbra@exede.net> References: <1049513261.123427416.1552059504247.JavaMail.zimbra@exede.net> Message-ID: Il giorno ven 8 mar 2019 alle ore 16:39 Cedron Dawg ha scritto: > Is there any way to download the Wiki so I can access it locally? > > I use it a lot and I would like to be able to work offline on a different > computer. > > P.S. I posted an HTML file of system colors at GambasONE that you might > find useful. > > https://forum.gambas.one/viewtopic.php?f=4&t=672 > > Title: Let's make 'em Garish > > Thank you for the nice gift, for offline documentation go: Tools > Preferences > Help & Applications > Documentation: switch on Use offline documentation. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Fri Mar 8 17:21:06 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 8 Mar 2019 11:21:06 -0500 (EST) Subject: [Gambas-user] Download the Wiki In-Reply-To: References: <1049513261.123427416.1552059504247.JavaMail.zimbra@exede.net> Message-ID: <1339095934.123499639.1552062066920.JavaMail.zimbra@exede.net> You're welcome. I've already done that, it was awesomely easy. I am referring to the whole http://gambaswiki.org/wiki tree. ----- Original Message ----- From: "Gianluigi" Thank you for the nice gift, for offline documentation go: Tools > Preferences > Help & Applications > Documentation: switch on Use offline documentation. Regards Gianluigi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Fri Mar 8 17:24:57 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 8 Mar 2019 11:24:57 -0500 (EST) Subject: [Gambas-user] Download the Wiki In-Reply-To: References: <1049513261.123427416.1552059504247.JavaMail.zimbra@exede.net> Message-ID: <1680734811.123503289.1552062297585.JavaMail.zimbra@exede.net> Never mind. I found it up there where it supposed to be. My bad, I thought it was just for the popups. This stuff is quality. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 8 17:45:22 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 17:45:22 +0100 Subject: [Gambas-user] Array.SortUsing() metod Message-ID: I know that today is not a good day for me, but a kind person could show me how the new Array.SortUsing() [0] method works. TIA & Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 8 17:49:51 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 17:49:51 +0100 Subject: [Gambas-user] Array.SortUsing() metod In-Reply-To: References: Message-ID: Il giorno ven 8 mar 2019 alle ore 17:45 Gianluigi ha scritto: > I know that today is not a good day for me, but a kind person could show > me how the new Array.SortUsing() [0] method works. > > TIA & Regards > Gianluigi > In fact, I forgot the link :-( [0] https://gitlab.com/gambas/gambas/commit/d668dadcf5eb887ae9bca2b5ed56c311319a51e1 Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Mar 8 18:02:31 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 8 Mar 2019 18:02:31 +0100 Subject: [Gambas-user] Array.SortUsing() metod In-Reply-To: References: Message-ID: <56eadde6-59ba-6141-b75e-dd864db996b9@gmail.com> Le 08/03/2019 ? 17:49, Gianluigi a ?crit?: > > > Il giorno ven 8 mar 2019 alle ore 17:45 Gianluigi > ha scritto: > > I know that today is not a good day for me, but a kind person could > show me how the new Array.SortUsing() [0] method works. > > TIA & Regards > Gianluigi > > > In fact, I forgot the link :-( > [0] > https://gitlab.com/gambas/gambas/commit/d668dadcf5eb887ae9bca2b5ed56c311319a51e1 > > Regards > Gianluigi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > I didn't have the time to make the wiki page yet. A.SortUsing(B) sorts the A array using the order defined by the B array. For example : A = ["A", "B", "C", "D", "E"] B = [4, 1, 2, 10, 8] A.SortUsing(B) Now A is ["B", "C", "A", "E", "D"] -- Beno?t Minisini From g4mba5 at gmail.com Fri Mar 8 18:05:03 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 8 Mar 2019 18:05:03 +0100 Subject: [Gambas-user] Array.SortUsing() metod In-Reply-To: <56eadde6-59ba-6141-b75e-dd864db996b9@gmail.com> References: <56eadde6-59ba-6141-b75e-dd864db996b9@gmail.com> Message-ID: <89162ade-af01-183b-8feb-8c6cc0fde68d@gmail.com> Le 08/03/2019 ? 18:02, Beno?t Minisini a ?crit?: > Le 08/03/2019 ? 17:49, Gianluigi a ?crit?: >> >> >> Il giorno ven 8 mar 2019 alle ore 17:45 Gianluigi > > ha scritto: >> >> ??? I know that today is not a good day for me, but a kind person could >> ??? show me how the new Array.SortUsing() [0] method works. >> >> ??? TIA & Regards >> ??? Gianluigi >> >> >> In fact, I forgot the link :-( >> [0] >> https://gitlab.com/gambas/gambas/commit/d668dadcf5eb887ae9bca2b5ed56c311319a51e1 >> >> >> Regards >> Gianluigi >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > I didn't have the time to make the wiki page yet. > > A.SortUsing(B) sorts the A array using the order defined by the B array. > > For example : > > A = ["A", "B", "C", "D", "E"] > B = [4, 1, 2, 10, 8] > > A.SortUsing(B) > > Now A is ["B", "C", "A", "E", "D"] > A few remarks: - To do that, SortUsing() creates a temporary integer array of the same size as A. - Of course A and B must be the same size. - A is sorted by the using the substitution generated by B.Sort(). - Maybe I should add an optional Mode argument for the sort of the B array. Regards, -- Beno?t Minisini From bagonergi at gmail.com Fri Mar 8 18:14:15 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 8 Mar 2019 18:14:15 +0100 Subject: [Gambas-user] Array.SortUsing() metod In-Reply-To: <89162ade-af01-183b-8feb-8c6cc0fde68d@gmail.com> References: <56eadde6-59ba-6141-b75e-dd864db996b9@gmail.com> <89162ade-af01-183b-8feb-8c6cc0fde68d@gmail.com> Message-ID: Il giorno ven 8 mar 2019 alle ore 18:06 Beno?t Minisini ha scritto: > Le 08/03/2019 ? 18:02, Beno?t Minisini a ?crit : > > Le 08/03/2019 ? 17:49, Gianluigi a ?crit : > >> > >> > >> Il giorno ven 8 mar 2019 alle ore 17:45 Gianluigi >> > ha scritto: > >> > >> I know that today is not a good day for me, but a kind person could > >> show me how the new Array.SortUsing() [0] method works. > >> > >> TIA & Regards > >> Gianluigi > >> > >> > >> In fact, I forgot the link :-( > >> [0] > >> > https://gitlab.com/gambas/gambas/commit/d668dadcf5eb887ae9bca2b5ed56c311319a51e1 > >> > >> > >> Regards > >> Gianluigi > >> > >> > >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > >> > > > > I didn't have the time to make the wiki page yet. > > > > A.SortUsing(B) sorts the A array using the order defined by the B array. > > > > For example : > > > > A = ["A", "B", "C", "D", "E"] > > B = [4, 1, 2, 10, 8] > > > > A.SortUsing(B) > > > > Now A is ["B", "C", "A", "E", "D"] > > > > A few remarks: > > - To do that, SortUsing() creates a temporary integer array of the same > size as A. > > - Of course A and B must be the same size. > > - A is sorted by the using the substitution generated by B.Sort(). > > - Maybe I should add an optional Mode argument for the sort of the B array. > > Regards, > > -- > Beno?t Minisini > Thanks Benoit, you have been clear, concise and kind as always. Greetings Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Mar 8 18:16:30 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 8 Mar 2019 12:16:30 -0500 Subject: [Gambas-user] Suggestion In-Reply-To: References: Message-ID: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> What exactly are you referring to as the "error display bar"? The Debugging tab at the bottom with Console, Breakpoints, etc.? ___ Lee On 3/8/19 3:25 AM, Fabien Bodard wrote: > Hi, > The error display bar of the IDE is useful but having to manually > close it every time makes me tired. I will suggest rather that the bar > closes after 5 seconds and to have a button appearing in case of error > in the stack with the number of errors not seen. this button could be > placed on demand in the toolbar. and the icon would display a number > corresponding to the uncommitted error. > > This method would not have the work space congested just for a simple warning. > > What do you think about this ? > > From alarch at alarch.pw Fri Mar 8 21:14:46 2019 From: alarch at alarch.pw (Alarc'h) Date: Fri, 8 Mar 2019 21:14:46 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> Message-ID: <20190308211446.228cd417.alarch@alarch.pw> Le Thu, 7 Mar 2019 19:28:06 +0100, Fabien Bodard a ?crit : > You will find it on the gambas farm... The javascript of the site does not work on my firefox, but by editing the html code I found a link that I could use to download the tarball archive ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From g4mba5 at gmail.com Fri Mar 8 21:23:32 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 8 Mar 2019 21:23:32 +0100 Subject: [Gambas-user] Another little Wiki fix. In-Reply-To: <1592801073.122550510.1551996653795.JavaMail.zimbra@exede.net> References: <1592801073.122550510.1551996653795.JavaMail.zimbra@exede.net> Message-ID: <8503245e-f288-583b-48bc-a5e705b55d40@gmail.com> Le 07/03/2019 ? 23:10, Cedron Dawg a ?crit?: > I thought this would be simple, so I logged in and sure enough I was able to. > > Then I wasn't sure where the fix was supposed to be. With modern redirects and all, I'm a nervous about it. So I did nothing. Rookies shouldn't be messing with production systems. > > Here is the issue: > > http://gambaswiki.org/wiki/lang/islcase > http://gambaswiki.org/wiki/lang/islower > > For IsLCase there is IsLCase and IsLower, there appear to be two identical pages, except for the links on top, both listing both functions. > > The problem is both pages have have the LCase version in bold, and the index has two LCase entries having the two differnt URLs. > > http://gambaswiki.org/wiki/lang/ > > So it seems the index needs to be updated, and the /islower page needs to be changed to say IsLower. Is the index automatically updated from the header? > > Anyway, the same situation applies to IsUCase. > > I have a strong preference for IsLower/IsUpper and they seem to be hidden. > > I am coding using these instead of ASCII ranges in anticipation that someday they will be Internationalized, which seems to be a goal of other parts of Gambas. > > So, just curious, is that in the todo pile? > > Second, can somebody please fix that? > > Thanks. > > Ced > > Fixed. -- Beno?t Minisini From cedron at exede.net Fri Mar 8 21:36:46 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 8 Mar 2019 15:36:46 -0500 (EST) Subject: [Gambas-user] Another little Wiki fix. In-Reply-To: <8503245e-f288-583b-48bc-a5e705b55d40@gmail.com> References: <1592801073.122550510.1551996653795.JavaMail.zimbra@exede.net> <8503245e-f288-583b-48bc-a5e705b55d40@gmail.com> Message-ID: <1976991591.123752500.1552077406162.JavaMail.zimbra@exede.net> Thanks. The comprehensibility of BASIC has always been one of its best attributes. I'm striving to make my code be as readable as documentation. Saves having to do real documentation. Things are going swimmingly. ----- Original Message ----- From: "Beno?t Minisini" Fixed. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From matthew.charles.collins.75 at gmail.com Fri Mar 8 21:44:52 2019 From: matthew.charles.collins.75 at gmail.com (Matthew Collins) Date: Fri, 8 Mar 2019 20:44:52 +0000 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <20190308211446.228cd417.alarch@alarch.pw> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> <20190308211446.228cd417.alarch@alarch.pw> Message-ID: <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> Gambas Farm is available in the full Gambas IDE, Menu: Tools > Gambas Farm If your using the your internet browser your in the wrong place... ! I hope this helps. Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:14, Alarc'h wrote: Le Thu, 7 Mar 2019 19:28:06 +0100, Fabien Bodard a ?crit : > You will find it on the gambas farm... The javascript of the site does not work on my firefox, but by editing the html code I found a link that I could use to download the tarball archive ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From matthew.charles.collins.75 at gmail.com Fri Mar 8 21:46:46 2019 From: matthew.charles.collins.75 at gmail.com (Matthew Collins) Date: Fri, 8 Mar 2019 20:46:46 +0000 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> <20190308211446.228cd417.alarch@alarch.pw> <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> Message-ID: <48E7E7B4-FACC-4529-95AA-88A82E7AEFBD@gmail.com> Tools > Software Farm... Sent from my iPhone On 8 Mar 2019, at 20:44, Matthew Collins wrote: Gambas Farm is available in the full Gambas IDE, Menu: Tools > Gambas Farm If your using the your internet browser your in the wrong place... ! I hope this helps. Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:14, Alarc'h wrote: Le Thu, 7 Mar 2019 19:28:06 +0100, Fabien Bodard a ?crit : > You will find it on the gambas farm... The javascript of the site does not work on my firefox, but by editing the html code I found a link that I could use to download the tarball archive ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From matthew.charles.collins.75 at gmail.com Fri Mar 8 22:17:56 2019 From: matthew.charles.collins.75 at gmail.com (Matthew Collins) Date: Fri, 8 Mar 2019 21:17:56 +0000 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <48E7E7B4-FACC-4529-95AA-88A82E7AEFBD@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> <20190308211446.228cd417.alarch@alarch.pw> <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> <48E7E7B4-FACC-4529-95AA-88A82E7AEFBD@gmail.com> Message-ID: <3205499E-EB4E-489E-8618-CD98272B8403@gmail.com> Where you on my site: https://gambas.one/gambasfarm ? If so I can confirm the download link (for some reason) does not work in Firefox but does in chrome/chromium... ?? Thanks for bring that to my attention, I will try and fix that, thanks... Like I said the full Gambas IDE has a rich gui browser for accessing downloading/installing or publishing Farm software... Apologies.. If you need anymore help just shout... Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:46, Matthew Collins wrote: Tools > Software Farm... Sent from my iPhone On 8 Mar 2019, at 20:44, Matthew Collins wrote: Gambas Farm is available in the full Gambas IDE, Menu: Tools > Gambas Farm If your using the your internet browser your in the wrong place... ! I hope this helps. Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:14, Alarc'h wrote: Le Thu, 7 Mar 2019 19:28:06 +0100, Fabien Bodard a ?crit : > You will find it on the gambas farm... The javascript of the site does not work on my firefox, but by editing the html code I found a link that I could use to download the tarball archive ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From matthew.charles.collins.75 at gmail.com Fri Mar 8 22:38:14 2019 From: matthew.charles.collins.75 at gmail.com (Matthew Collins) Date: Fri, 8 Mar 2019 21:38:14 +0000 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <3205499E-EB4E-489E-8618-CD98272B8403@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> <20190308211446.228cd417.alarch@alarch.pw> <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> <48E7E7B4-FACC-4529-95AA-88A82E7AEFBD@gmail.com> <3205499E-EB4E-489E-8618-CD98272B8403@gmail.com> Message-ID: <8AA480A4-319A-4BC3-AF3B-31203D141AA2@gmail.com> Fixed in Firefox, Ctrl + F5 if needed !! Sent from my iPhone On 8 Mar 2019, at 21:17, Matthew Collins wrote: Where you on my site: https://gambas.one/gambasfarm ? If so I can confirm the download link (for some reason) does not work in Firefox but does in chrome/chromium... ?? Thanks for bring that to my attention, I will try and fix that, thanks... Like I said the full Gambas IDE has a rich gui browser for accessing downloading/installing or publishing Farm software... Apologies.. If you need anymore help just shout... Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:46, Matthew Collins wrote: Tools > Software Farm... Sent from my iPhone On 8 Mar 2019, at 20:44, Matthew Collins wrote: Gambas Farm is available in the full Gambas IDE, Menu: Tools > Gambas Farm If your using the your internet browser your in the wrong place... ! I hope this helps. Thanks Matt Sent from my iPhone On 8 Mar 2019, at 20:14, Alarc'h wrote: Le Thu, 7 Mar 2019 19:28:06 +0100, Fabien Bodard a ?crit : > You will find it on the gambas farm... The javascript of the site does not work on my firefox, but by editing the html code I found a link that I could use to download the tarball archive ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From alarch at alarch.pw Sat Mar 9 09:03:47 2019 From: alarch at alarch.pw (Alarc'h) Date: Sat, 9 Mar 2019 09:03:47 +0100 Subject: [Gambas-user] Pb instanciating inotify watch In-Reply-To: <8AA480A4-319A-4BC3-AF3B-31203D141AA2@gmail.com> References: <20190302200141.7bc4c5a3.alarch@alarch.pw> <20190307192405.58e5e68b.alarch@alarch.pw> <20190308211446.228cd417.alarch@alarch.pw> <9F3BD8FF-2DAF-4454-A510-576E943B8A48@gmail.com> <48E7E7B4-FACC-4529-95AA-88A82E7AEFBD@gmail.com> <3205499E-EB4E-489E-8618-CD98272B8403@gmail.com> <8AA480A4-319A-4BC3-AF3B-31203D141AA2@gmail.com> Message-ID: <20190309090347.7ed3cbab.alarch@alarch.pw> Le Fri, 8 Mar 2019 21:38:14 +0000, Matthew Collins a ?crit : > Fixed in Firefox, Ctrl + F5 if needed !! > > Sent from my iPhone > > On 8 Mar 2019, at 21:17, Matthew Collins > wrote: > > Where you on my site: https://gambas.one/gambasfarm > ? > > If so I can confirm the download link (for some reason) does not work > in Firefox but does in chrome/chromium... ?? Yes it was on your website :D but now I know tu use it with the gambas IDE,that's fine ! -- __ __/o \_ \____ \ / \ //\ \ __/o \-//--\ \_/ \____ ___ \ | || \ |\ | _|| _||_|| From gambas.fr at gmail.com Sat Mar 9 09:06:05 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 9 Mar 2019 09:06:05 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> References: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> Message-ID: Le ven. 8 mars 2019 18:17, T Lee Davidson a ?crit : > What exactly are you referring to as the "error display bar"? The > Debugging tab at the bottom with Console, Breakpoints, etc.? > No, I'm talking about the bar at the bottom of the toolbar that show only when an error is raised... and I'm doing a lot of errors ?. > > ___ > Lee > > > On 3/8/19 3:25 AM, Fabien Bodard wrote: > > Hi, > > The error display bar of the IDE is useful but having to manually > > close it every time makes me tired. I will suggest rather that the bar > > closes after 5 seconds and to have a button appearing in case of error > > in the stack with the number of errors not seen. this button could be > > placed on demand in the toolbar. and the icon would display a number > > corresponding to the uncommitted error. > > > > This method would not have the work space congested just for a simple > warning. > > > > What do you think about this ? > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Mar 9 09:21:47 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 9 Mar 2019 03:21:47 -0500 Subject: [Gambas-user] Suggestion In-Reply-To: References: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> Message-ID: On 3/9/19 3:06 AM, Fabien Bodard wrote: > Le ven. 8 mars 2019 18:17, T Lee Davidson > a ?crit?: > > What exactly are you referring to as the "error display bar"? The Debugging tab at the bottom with Console, Breakpoints, etc.? > > > No, I'm talking about the bar at the bottom of the toolbar that show? only when an error is raised... and I'm doing a lot of > errors? ?. > I have never had a bar show at the bottom of the toolbar when an error is raised. And, I don't see anything in Preferences that might turn it on. So, I still don't know what you're talking about. But, thanks for the response :-) ___ Lee From taboege at gmail.com Sat Mar 9 10:15:41 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 9 Mar 2019 10:15:41 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: References: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> Message-ID: <20190309091541.GH27111@highrise.localdomain> On Sat, 09 Mar 2019, T Lee Davidson wrote: > On 3/9/19 3:06 AM, Fabien Bodard wrote: > > Le ven. 8 mars 2019 18:17, T Lee Davidson > a ?crit?: > > > > What exactly are you referring to as the "error display bar"? The Debugging tab at the bottom with Console, Breakpoints, etc.? > > > > > > No, I'm talking about the bar at the bottom of the toolbar that show? > > only when an error is raised... and I'm doing a lot of errors? ?. > > > > I have never had a bar show at the bottom of the toolbar when an error is > raised. And, I don't see anything in Preferences that might turn it on. So, > I still don't know what you're talking about. But, thanks for the response > :-) > I believe they mean the one in the attached picture. I see it rarely, too, and I can't quite classify when it is shown (maybe when the compiler or interpreter exit with non-zero status?), but I agree that it would be nice if it vanished automatically, maybe the next time the program is started. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -------------- next part -------------- A non-text attachment was scrubbed... Name: errtest.png Type: image/png Size: 30391 bytes Desc: not available URL: From bagonergi at gmail.com Sat Mar 9 14:22:50 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 9 Mar 2019 14:22:50 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: <20190309091541.GH27111@highrise.localdomain> References: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> <20190309091541.GH27111@highrise.localdomain> Message-ID: Il giorno sab 9 mar 2019 alle ore 10:16 Tobias Boege ha scritto: > On Sat, 09 Mar 2019, T Lee Davidson wrote: > > On 3/9/19 3:06 AM, Fabien Bodard wrote: > > > Le ven. 8 mars 2019 18:17, T Lee Davidson > a ?crit : > > > > > > What exactly are you referring to as the "error display bar"? The > Debugging tab at the bottom with Console, Breakpoints, etc.? > > > > > > > > > No, I'm talking about the bar at the bottom of the toolbar that show > > > only when an error is raised... and I'm doing a lot of errors ?. > > > > > > > I have never had a bar show at the bottom of the toolbar when an error is > > raised. And, I don't see anything in Preferences that might turn it on. > So, > > I still don't know what you're talking about. But, thanks for the > response > > :-) > > > > I believe they mean the one in the attached picture. I see it rarely, too, > and I can't quite classify when it is shown (maybe when the compiler or > interpreter exit with non-zero status?), but I agree that it would be nice > if it vanished automatically, maybe the next time the program is started. > > Regards, > Tobi > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > I happen to see this bar when I try to open programs of other (very capable) programmers made with obsolete versions of Gambas. With my programs it never happened. This also shows my poor ability as a programmer. :-( Sometimes, this bar prevents you from seeing the form code directly from the ide, maybe putting a switch in preferences to exclude it? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 9 14:40:18 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 08:40:18 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. Message-ID: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> The highlight bar on help pops is awfully subtle on my display so it kind of makes it hard to see which item is selected. Is there a place this can be set? Being able to set it does not appear to be in [Tools/Preferences/Themes]. Nor can I find anything obvious in ~/.config/gambas3/gambas3.conf. Is there a place I can set that? Thanks, Ced -------------- next part -------------- A non-text attachment was scrubbed... Name: Popup.png Type: image/png Size: 39317 bytes Desc: not available URL: From chrisml at deganius.de Sat Mar 9 15:13:16 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 9 Mar 2019 15:13:16 +0100 Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> Message-ID: <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> Am 09.03.19 um 14:40 schrieb Cedron Dawg: > The highlight bar on help pops is awfully subtle on my display so it > kind of makes it hard to see which item is selected. Is there a > place this can be set? Same here. I always forgot to write a bug report. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From cedron at exede.net Sat Mar 9 15:24:03 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 09:24:03 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> Message-ID: <1370675158.124488997.1552141443576.JavaMail.zimbra@exede.net> I don't want add it as a request until I know it can't already be done. The popups are very nice to have. I also found out that when you open a .c file in the IDE, it also has popups and the routine list is in the dropdown. A W E S O M E !!! ----- Original Message ----- From: "Christof Thalhofer" Same here. I always forgot to write a bug report. Alles Gute Christof Thalhofer -- Dies ist keine Signatur ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 9 16:38:13 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 10:38:13 -0500 (EST) Subject: [Gambas-user] Executing make from a Gambas program Message-ID: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> I've got a stumper here. Emboldened by the fact I can edit .c files in the Gambas IDE, I thought it would be really neat if I could have my test program run a "make" on the .c code, capture the results in a string. I could then have the progarm proceed for a clean compile and halt if there are errors. Okay, so I'd me running make a whole lot times unnecessarily when I am working on the test program, but I can always temporarily comment out the compiling call. So, I found "EXEC Command TO Variable" in the help. Perfect. Or so I thought. I am getting unexpected (to me) results. In my Gambas program: -------------------------- Exec ["make", "~/Gambas/libGambas/NiceTerminal/"] Exec ["/usr/bin/make", "~/Gambas/libGambas/NiceTerminal/makefile"] Shell "make ~/Gambas/libGambas/NiceTerminal/makefile" -------------------------- the output I get: -------------------------- make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/makefile'. make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/'. make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/makefile'. -------------------------- The "" is my actual directory. When I rename the makefile to "makefil", I get: -------------------------- make: *** No rule to make target `/Gambas/libGambas/NiceTerminal/makefile'. Stop. make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/'. make: *** No rule to make target `/Gambas/libGambas/NiceTerminal/makefile'. Stop. -------------------------- When I check the little check at [Debug/Use terminal emulator], I get -------------------------- make: Nothing to be done for `/home/hans/Gambas/libGambas/NiceTerminal/'. make: *** No rule to make target `/home/hans/Gambas/libGambas/NiceTerminal/makefile'. Stop. make: *** No rule to make target `/home/hans/Gambas/libGambas/NiceTerminal/makefile'. Stop. -------------------------- When I run "make from the [Tools/Open Terminal] or use a system terminal, for make, I get: -------------------------- make: *** No targets specified and no makefile found. Stop. <-- System terminal make: *** No targets specified and no makefile found. Stop. <-- Tool opened when Emulate on make: *** No targets specified and no makefile found. Stop. <-- Tool opened when Emulate off -------------------------- Finally, I rename the file back to "makefile", when I run make in the terminal I get ----------------------------------------------------------------- cc -c -Wall -Werror -fpic ./libGambas_NiceTerminal.c ./libGambas_NiceTerminal.c: In function ?NT_GetData?: ./libGambas_NiceTerminal.c:46:1: error: ?dfddfd? undeclared (first use in this function) dfddfd ^ ./libGambas_NiceTerminal.c:46:1: note: each undeclared identifier is reported only once for each function it appears in ./libGambas_NiceTerminal.c:50:1: error: expected ?;? before ?}? token } ^ make: *** [libGambas_NiceTerminal.o] Error 1 ----------------------------------------------------------------- Which clearly shows my deliberately mucked up file. Same happens in the terminals open up from within Gambas. My makefile looks like this: ---------------------------------- ./libGambas_NiceTerminal.so: ./libGambas_NiceTerminal.o gcc -shared -o ./libGambas_NiceTerminal.so ./libGambas_NiceTerminal.o ./libGambas_NiceTerminal.o: ./libGambas_NiceTerminal.c gcc -c -Wall -Werror -fpic ./libGambas_NiceTerminal.c ---------------------------------- Where I have inserted the where there is a tab character. Weird, different output from make in different contexts. Any clues? Has anybody else tried this and perhaps know a "correct way"? Thanks, Ced From cedron at exede.net Sat Mar 9 17:19:39 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 11:19:39 -0500 (EST) Subject: [Gambas-user] Executing make from a Gambas program In-Reply-To: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> References: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> Message-ID: <1982025485.124702297.1552148379098.JavaMail.zimbra@exede.net> Followup: I can't even get gcc to run. I'll guess I'll still have to click on the terminal tab, hit the up arrow, hit the enter key, then click on the Gambas tab until my fingers bleed. I.e., it's not that important, I just thought some of you hard core programmers might know what is going on. I usually don't delve too deeply into this stuff. Regards, Ced From g4mba5 at gmail.com Sat Mar 9 17:36:16 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 9 Mar 2019 17:36:16 +0100 Subject: [Gambas-user] Suggestion In-Reply-To: References: <09d94bbe-0609-0367-6f2f-2f25b34bf86c@gmail.com> <20190309091541.GH27111@highrise.localdomain> Message-ID: Le 09/03/2019 ? 14:22, Gianluigi a ?crit?: > > > Il giorno sab 9 mar 2019 alle ore 10:16 Tobias Boege > ha scritto: > > On Sat, 09 Mar 2019, T Lee Davidson wrote: > > On 3/9/19 3:06 AM, Fabien Bodard wrote: > > > Le ven. 8 mars 2019 18:17, T Lee Davidson > > >> > a ?crit?: > > > > > >? ? ?What exactly are you referring to as the "error display > bar"? The Debugging tab at the bottom with Console, Breakpoints, etc.? > > > > > > > > > No, I'm talking about the bar at the bottom of the toolbar that > show > > > only when an error is raised... and I'm doing a lot of errors? ?. > > > > > > > I have never had a bar show at the bottom of the toolbar when an > error is > > raised. And, I don't see anything in Preferences that might turn > it on. So, > > I still don't know what you're talking about. But, thanks for the > response > > :-) > > > > I believe they mean the one in the attached picture. I see it > rarely, too, > and I can't quite classify when it is shown (maybe when the compiler or > interpreter exit with non-zero status?), but I agree that it would > be nice > if it vanished automatically, maybe the next time the program is > started. > > Regards, > Tobi > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > > I happen to see this bar when I try to open programs of other (very > capable) programmers made with obsolete versions of Gambas. > With my programs it never happened. > This also shows my poor ability as a programmer. :-( > Sometimes, this bar prevents you from seeing the form code directly from > the ide, maybe putting a switch in preferences to exclude it? > > Regards > Gianluigi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > This message bar replaces modal message boxes when I didn't want to show a modal message box. Any Unix program that does not crash can return an integer value between 0 and 127 to its parent process. The convention is that 0 means that everything is ok, and any other value should indicate an error. This is the reason why a message is displayed when the Gambas program debugged by the IDE does not return zero. Something happened. When the program actually crashes (segmentation fault...), which should never happens, a modal message box with a bomb icon (coming from the Atari TOS operating system) is displayed. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Sat Mar 9 17:42:18 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 9 Mar 2019 17:42:18 +0100 Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> Message-ID: <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> Le 09/03/2019 ? 15:13, Christof Thalhofer a ?crit?: > Am 09.03.19 um 14:40 schrieb Cedron Dawg: > >> The highlight bar on help pops is awfully subtle on my display so it >> kind of makes it hard to see which item is selected. Is there a >> place this can be set? > > Same here. I always forgot to write a bug report. > > > Alles Gute > > Christof Thalhofer > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > It's because the popup does not have the focus, so the selected item color is lighter... -- Beno?t Minisini From cedron at exede.net Sat Mar 9 17:55:58 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 11:55:58 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> Message-ID: <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> Which begs the question, is that then a system thing and can be set somewhere else? Like maybe in the environment a la: LS_COLORS='rs=0:di=01;34:ln=01;3 .... I did a 'set > set.out' What I got is clearly a sign of abuse. Thanks. ----- Original Message ----- From: "Beno?t Minisini" -- > It's because the popup does not have the focus, so the selected item color is lighter... -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Sat Mar 9 17:58:40 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 9 Mar 2019 17:58:40 +0100 Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> Message-ID: Le 09/03/2019 ? 17:55, Cedron Dawg a ?crit?: > Which begs the question, is that then a system thing and can be set somewhere else? > > Like maybe in the environment a la: > LS_COLORS='rs=0:di=01;34:ln=01;3 .... > > I did a 'set > set.out' > > What I got is clearly a sign of abuse. > > Thanks. > > No, it's a gambas thing defined in the gb.gui.base component. I will make the color less lighter. But the base color is defined by the toolkit (KDE control panel on KDE), I can't change it. Regards, -- Beno?t Minisini From cedron at exede.net Sat Mar 9 18:02:09 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 12:02:09 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> Message-ID: <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> Thanks. Would you like me to file a formal request? ----- Original Message ----- From: "Beno?t Minisini" > No, it's a gambas thing defined in the gb.gui.base component. I will make the color less lighter. But the base color is defined by the toolkit (KDE control panel on KDE), I can't change it. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Sat Mar 9 18:52:17 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 9 Mar 2019 18:52:17 +0100 Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> Message-ID: <851ada8f-1969-cf12-18ad-a570e6c9d761@gmail.com> Le 09/03/2019 ? 18:02, Cedron Dawg a ?crit?: > Thanks. Would you like me to file a formal request? > > > ----- Original Message ----- > From: "Beno?t Minisini" >> > > No, it's a gambas thing defined in the gb.gui.base component. I will > make the color less lighter. But the base color is defined by the > toolkit (KDE control panel on KDE), I can't change it. > > Regards, > No, I have already done it. It's not yet pushed. -- Beno?t Minisini From chrisml at deganius.de Sat Mar 9 18:54:36 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 9 Mar 2019 18:54:36 +0100 Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> Message-ID: Am 09.03.19 um 18:02 schrieb Cedron Dawg: > No, it's a gambas thing defined in the gb.gui.base component. I will > make the color less lighter. But the base color is defined by the > toolkit (KDE control panel on KDE), I can't change it. The font (also in the help window) is very small, compared to the standard font size (maybe for my old eyes). I am able to increase the standard font size but then the IDE looks like for babies. Can this (font size of help popup and help window) be configured independently? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From cedron at exede.net Sat Mar 9 19:04:17 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 13:04:17 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: <851ada8f-1969-cf12-18ad-a570e6c9d761@gmail.com> References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> <851ada8f-1969-cf12-18ad-a570e6c9d761@gmail.com> Message-ID: <882694632.124821975.1552154657255.JavaMail.zimbra@exede.net> Thanks. Okay, no formal "Inc myMakeUserHappyCount" for you, but it still counts big time. ----- Original Message ----- From: "Beno?t Minisini" No, I have already done it. It's not yet pushed. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 9 19:13:46 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 13:13:46 -0500 (EST) Subject: [Gambas-user] The highlight bar on help popups. In-Reply-To: References: <437983004.124438439.1552138818035.JavaMail.zimbra@exede.net> <1532f01a-e2cf-a66d-4f0b-b2ec2fedb803@deganius.de> <5d395898-69ef-2efa-38ba-19b82811b35c@gmail.com> <489812144.124745741.1552150558795.JavaMail.zimbra@exede.net> <1136001293.124750582.1552150929198.JavaMail.zimbra@exede.net> Message-ID: <1972647612.124828972.1552155226648.JavaMail.zimbra@exede.net> And the color scheme is a bit garish. I've found simply selecting the text makes it more legible. If that isn't sufficient, you can then simply copy and paste it into your favorite text editor. Myself, I need reading glasses for paper stuff, but I have a big screen TV (1920x1080) as my computer monitor using HDMI so I can make it out. ----- Original Message ----- From: "Christof Thalhofer" The font (also in the help window) is very small, compared to the standard font size (maybe for my old eyes). I am able to increase the standard font size but then the IDE looks like for babies. Can this (font size of help popup and help window) be configured independently? Alles Gute Christof Thalhofer -- Dies ist keine Signatur ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Sat Mar 9 19:52:27 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 9 Mar 2019 13:52:27 -0500 Subject: [Gambas-user] Executing make from a Gambas program In-Reply-To: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> References: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> Message-ID: On 3/9/19 10:38 AM, Cedron Dawg wrote: > So, I found "EXEC Command TO Variable" in the help. Perfect. Or so I thought. I am getting unexpected (to me) results. > > In my Gambas program: > -------------------------- > Exec ["make", "~/Gambas/libGambas/NiceTerminal/"] > Exec ["/usr/bin/make", "~/Gambas/libGambas/NiceTerminal/makefile"] > Shell "make ~/Gambas/libGambas/NiceTerminal/makefile" > -------------------------- > > the output I get: > > -------------------------- > make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/makefile'. > make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/'. > make: Nothing to be done for `/Gambas/libGambas/NiceTerminal/makefile'. > -------------------------- The Exec statement does not expand special characters, such as the tilde, like Shell does. I can't say anything about the other issues, but perhaps this knowledge may help you ignore expected results. "Differences Between Shell And Exec" http://gambaswiki.org/wiki/doc/shellexec ___ Lee From cedron at exede.net Sat Mar 9 20:11:37 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 9 Mar 2019 14:11:37 -0500 (EST) Subject: [Gambas-user] Executing make from a Gambas program In-Reply-To: References: <1091919483.124620105.1552145893018.JavaMail.zimbra@exede.net> Message-ID: <2113975200.124884558.1552158697654.JavaMail.zimbra@exede.net> Thanks Lee, Yes, I read that first. I tried both ways as you saw. The Shell is easier for me in this situation. So I tried again. I must have done something wrong before because now gcc works. ' Shell "gcc -c -Wall -Werror -fpic //libGambas_NiceTerminal.c" Shell "make //" The make line still isn't working, but I went out in a terminal and tried it there. Fortunately the the results were consistent. I thought I had found an inconsistency between how the shell/exec worked and how a terminal works which is why I raised the issue. Still not sure due to the differing results I got. (could be make in usr/bin is different than the path one) Thanks. I don't think there is a problem any more, but not super sure. I should be able to figure it out, or bypass make and do my own date checks. I'll post an update when I get it sorted. Won't be till tomorrow, other stuff beckens. ----- Original Message ----- From: "T Lee Davidson" The Exec statement does not expand special characters, such as the tilde, like Shell does. I can't say anything about the other issues, but perhaps this knowledge may help you ignore expected results. "Differences Between Shell And Exec" http://gambaswiki.org/wiki/doc/shellexec ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 10 15:38:54 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 10:38:54 -0400 (EDT) Subject: [Gambas-user] Announcement: Sample Game Program Message-ID: <2120347871.125790094.1552228734863.JavaMail.zimbra@exede.net> I just posted a small "video game" program to GambasOne in the forum. The quotes are justified, you'll see why. Title: Programming is supposed to be fun Please check it out and let me know if you encounter any glitches so I can fix them ASAP. Thanks, Ced From cedron at exede.net Sun Mar 10 15:44:15 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 10:44:15 -0400 (EDT) Subject: [Gambas-user] Possible bug in SpinBar control Message-ID: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> In the original version we had SpinBars instead ScrollBars and set the Step size in the properties panel. When I came home to write the code, I thought that SpinBar1.Step should be settable. It does not seem to be and the documentation is somewhat thin. Somebody please verify and I will report it. Thanks, Ced From cedron at exede.net Sun Mar 10 15:46:33 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 10:46:33 -0400 (EDT) Subject: [Gambas-user] Link to the sample "Video Game" Message-ID: <203028086.125792916.1552229193613.JavaMail.zimbra@exede.net> Sorry, I forgot this in the announcement message. https://forum.gambas.one/viewtopic.php?f=4&t=674 ID-ten-T error. From hans at gambas-buch.de Sun Mar 10 16:22:30 2019 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 10 Mar 2019 16:22:30 +0100 Subject: [Gambas-user] Gambas locale Message-ID: Hello, the following statement applies: /KDE uses its own locale system, Gambas does not use it. Gambas only uses the system locale settings of the GNU libc.// / Yours sincerely Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sun Mar 10 19:48:06 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 10 Mar 2019 19:48:06 +0100 Subject: [Gambas-user] Gambas locale In-Reply-To: References: Message-ID: <060cddb1-a1c3-099b-34cb-dd81d92d5488@gmail.com> Le 10/03/2019 ? 16:22, Hans Lehmann a ?crit?: > Hello, > > the following statement applies: > > /KDE uses its own locale system, Gambas does not use it. Gambas only > uses the system locale settings of the GNU libc.// > / > Yours sincerely > > Hans > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Indeed, and so? -- Beno?t Minisini From jussi.lahtinen at gmail.com Sun Mar 10 20:48:45 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 10 Mar 2019 21:48:45 +0200 Subject: [Gambas-user] Link to the sample "Video Game" In-Reply-To: <203028086.125792916.1552229193613.JavaMail.zimbra@exede.net> References: <203028086.125792916.1552229193613.JavaMail.zimbra@exede.net> Message-ID: This is better way to share code: >From IDE --> Project --> Make --> Source archive Or put it to Software Farm. Jussi On Sun, Mar 10, 2019 at 4:47 PM Cedron Dawg wrote: > Sorry, I forgot this in the announcement message. > > https://forum.gambas.one/viewtopic.php?f=4&t=674 > > ID-ten-T error. > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sun Mar 10 21:05:32 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 10 Mar 2019 16:05:32 -0400 Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> Message-ID: <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> On 3/10/19 10:44 AM, Cedron Dawg wrote: > In the original version we had SpinBars instead ScrollBars and set the Step size in the properties panel. When I came home to write the code, I thought that SpinBar1.Step should be settable. It does not seem to be and the documentation is somewhat thin. > > Somebody please verify and I will report it. > > Thanks, > Ced I don't know what you mean by, "original version," or what that has to do with ScrollBars. But, setting the Step on a SpinBar, either in the Properties panel or in code, works with no problem here. ___ Lee From cedron at exede.net Sun Mar 10 21:08:31 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 16:08:31 -0400 (EDT) Subject: [Gambas-user] Link to the sample "Video Game" In-Reply-To: References: <203028086.125792916.1552229193613.JavaMail.zimbra@exede.net> Message-ID: <1347170742.126061871.1552248511473.JavaMail.zimbra@exede.net> Hi Jussi Thanks for the suggestion. I actually made a considered decision on the matter. Depends on the audience and the size of the code. That is basically a code snippet. So sizewise it doesn't make the cut. I want somebody to see the code, if they want to copy and paste fine. Anything much larger will get the attached source archive treatment. In this case, I'm trying to attract newbies, so that extra step might be a barrier to entry. Also, by making them go through the create a project step, it gets them started so they know what to do next time. My process is going to be post the code either here (technical stuff) or GambasONE (user stuff) for review. Let's call it the GreenHouse. When I get a little feedback, and am convinced it is worthy, I'll move it to the farm. My first impression is the farm is overloaded, some half baked stuff, and difficult to search, other than by category. I don't have a deep impression because I haven't gotten to it yet. I got more coming in this genre, and it will be too big to post inline, and I will make a Source archive, though I think a Source Bundle is a better name. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Sunday, March 10, 2019 3:48:45 PM Subject: Re: [Gambas-user] Link to the sample "Video Game" This is better way to share code: >From IDE --> Project --> Make --> Source archive Or put it to Software Farm. Jussi From cedron at exede.net Sun Mar 10 21:20:08 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 16:20:08 -0400 (EDT) Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> Message-ID: <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> I made a quick "video game" this weekend while on a visit. Came home made an improved version. I had a SpinBox for a parameter control. The stepsize didn't move from 0.5 when I was using it, trying to set it to 10. Now I can't reproduce it. Slide bar is a better choice though. **Story and code here: https://forum.gambas.one/viewtopic.php?f=4&t=674 ----- Original Message ----- I don't know what you mean by, "original version," or what that has to do with ScrollBars. But, setting the Step on a SpinBar, either in the Properties panel or in code, works with no problem here. ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 10 21:31:03 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 16:31:03 -0400 (EDT) Subject: [Gambas-user] Link to the sample "Video Game" In-Reply-To: <1347170742.126061871.1552248511473.JavaMail.zimbra@exede.net> References: <203028086.125792916.1552229193613.JavaMail.zimbra@exede.net> <1347170742.126061871.1552248511473.JavaMail.zimbra@exede.net> Message-ID: <39328856.126078456.1552249863876.JavaMail.zimbra@exede.net> I've added a Source archive in your honor. Perhaps copying and pasting is a barrier to entry for the pros. ;-) ----- Original Message ----- From: "Jussi Lahtinen" This is better way to share code: >From IDE --> Project --> Make --> Source archive Or put it to Software Farm. Jussi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Sun Mar 10 21:34:11 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 10 Mar 2019 16:34:11 -0400 Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> Message-ID: <67afcd6d-3583-b344-0b71-349f1f919a28@gmail.com> On 3/10/19 4:20 PM, Cedron Dawg wrote: > The stepsize didn't move from 0.5 when I was using it, trying to set it to 10. The range for the Step property is 0 - 1. ___ Lee From cedron at exede.net Sun Mar 10 21:58:15 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 16:58:15 -0400 (EDT) Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <67afcd6d-3583-b344-0b71-349f1f919a28@gmail.com> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> <67afcd6d-3583-b344-0b71-349f1f919a28@gmail.com> Message-ID: <1000835961.126093434.1552251495012.JavaMail.zimbra@exede.net> Okay, but somebody forgot to tell the SpinBox? Print SpinBox1.Step SpinBox1.Step = 10 Print SpinBox1.Step SpinBox1.MaxValue = 100 SpinBox1.Value = 50 SpinBox1.MinValue = 30 Print SpinBox1.Step 1 10 10 It works with a step ten on the form as well. I'm confused now. Ced ----- Original Message ----- From: "T Lee Davidson" On 3/10/19 4:20 PM, Cedron Dawg wrote: > The stepsize didn't move from 0.5 when I was using it, trying to set it to 10. The range for the Step property is 0 - 1. ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Sun Mar 10 22:07:22 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 10 Mar 2019 17:07:22 -0400 Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <1000835961.126093434.1552251495012.JavaMail.zimbra@exede.net> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> <67afcd6d-3583-b344-0b71-349f1f919a28@gmail.com> <1000835961.126093434.1552251495012.JavaMail.zimbra@exede.net> Message-ID: <94d26df6-a3c1-eda0-1551-5c2754be02d5@gmail.com> Oops. It appears that what I said is incorrect. I did not notice the MaxValue property. What I saw was the SpinBar, with it's default Step of 0.1, going from zero to one. I apologize for the confusion. ___ Lee On 3/10/19 4:58 PM, Cedron Dawg wrote: > Okay, but somebody forgot to tell the SpinBox? > > Print SpinBox1.Step > SpinBox1.Step = 10 > Print SpinBox1.Step > > SpinBox1.MaxValue = 100 > SpinBox1.Value = 50 > SpinBox1.MinValue = 30 > > Print SpinBox1.Step > > 1 > 10 > 10 > > It works with a step ten on the form as well. > > I'm confused now. > > Ced > > ----- Original Message ----- > From: "T Lee Davidson" > > On 3/10/19 4:20 PM, Cedron Dawg wrote: >> The stepsize didn't move from 0.5 when I was using it, trying to set it to 10. > > The range for the Step property is 0 - 1. > > > ___ > Lee > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From cedron at exede.net Sun Mar 10 22:16:57 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 10 Mar 2019 17:16:57 -0400 (EDT) Subject: [Gambas-user] Possible bug in SpinBar control In-Reply-To: <94d26df6-a3c1-eda0-1551-5c2754be02d5@gmail.com> References: <1866998181.125792081.1552229055063.JavaMail.zimbra@exede.net> <0ba5861c-5422-60d8-e750-af7c254bc10a@gmail.com> <414818198.126065458.1552249208111.JavaMail.zimbra@exede.net> <67afcd6d-3583-b344-0b71-349f1f919a28@gmail.com> <1000835961.126093434.1552251495012.JavaMail.zimbra@exede.net> <94d26df6-a3c1-eda0-1551-5c2754be02d5@gmail.com> Message-ID: <117375641.126102537.1552252617324.JavaMail.zimbra@exede.net> The confusion is my fault. I can't reproduce what happened this morning, and I gave up on it too quickly and posted too quickly. The SlideBar is a better tool for the job anyway. Please check it out. BTW, did you know a radio button does a heck of an impression as a bullet? Coming soon, more fun stuff, Source archive only....... I'll post it there and announce it here. ----- Original Message ----- From: "T Lee Davidson" Oops. It appears that what I said is incorrect. I did not notice the MaxValue property. What I saw was the SpinBar, with it's default Step of 0.1, going from zero to one. I apologize for the confusion. ___ Lee From shordi at gmail.com Mon Mar 11 13:07:13 2019 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Mon, 11 Mar 2019 13:07:13 +0100 Subject: [Gambas-user] A new property of WorkSpace Message-ID: Lately I have developed a project that handles a series of long and tedious texts to complete. To edit them I use some forms within a workspace control. However I haven't found a way to prevent that if you press the button to close all the tabs all the work is lost (CloseAll Event is raised after all windows is closed). So I modified the source code of the control by adding the Boolean property CloseButton (the same one that has the tabstrip control). It works very well, just put it to False and the close all windows button does not appear. The modification is very small but it saves many troubles. I do not know if it's interesting for someone else, but here's the source code of the modified WorksPace. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: wSpace-0.0.1.tar.gz Type: application/gzip Size: 18703 bytes Desc: not available URL: From g4mba5 at gmail.com Mon Mar 11 13:49:47 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 11 Mar 2019 13:49:47 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Le 11/03/2019 ? 13:07, Jorge Carri?n a ?crit?: > Lately I have developed a project that handles a series of long and > tedious texts to complete. To edit them I use some forms within a > workspace control. However I haven't found a way to prevent that if you > press the button to close all the tabs all the work is lost (CloseAll > Event is raised after all windows is closed). > So I modified the source code of the control by adding the Boolean > property CloseButton (the same one that has the tabstrip control). It > works very well, just put it to False and the close all windows button > does not appear. > The modification is very small but it saves many troubles. > I do not know if it's interesting for someone else, but here's the > source code of the modified WorksPace. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > If you can use git and make a merge request to GitLab, it would be cool. -- Beno?t Minisini From gambas.fr at gmail.com Mon Mar 11 14:00:11 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 11 Mar 2019 14:00:11 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Maybe a new event _BeforeClose could be a good idea too. Le lun. 11 mars 2019 ? 13:50, Beno?t Minisini a ?crit : > > Le 11/03/2019 ? 13:07, Jorge Carri?n a ?crit : > > Lately I have developed a project that handles a series of long and > > tedious texts to complete. To edit them I use some forms within a > > workspace control. However I haven't found a way to prevent that if you > > press the button to close all the tabs all the work is lost (CloseAll > > Event is raised after all windows is closed). > > So I modified the source code of the control by adding the Boolean > > property CloseButton (the same one that has the tabstrip control). It > > works very well, just put it to False and the close all windows button > > does not appear. > > The modification is very small but it saves many troubles. > > I do not know if it's interesting for someone else, but here's the > > source code of the modified WorksPace. > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > If you can use git and make a merge request to GitLab, it would be cool. > > -- > Beno?t Minisini > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From peterpeyotle at gmx.de Mon Mar 11 15:27:18 2019 From: peterpeyotle at gmx.de (Peter Peyotle) Date: Mon, 11 Mar 2019 15:27:18 +0100 Subject: [Gambas-user] Tableview problem Message-ID: Hello and good day. I have the following problem: I put a combo box (or another control) in a cell of a tableview. The ComboBox is set by clicking on the cell. I use the following code: ' ----------------------------------------------------------------------------------------------- 'Gambas class file Private myCombo As ComboBox Public Sub form_Open () myCombo = New ComboBox (TableView1.Children [0]) Object.Attach (TableView1, Me, "tabEvents") ?? ??TableView1.Columns.Count = 2 ??TableView1.rows.Count = 15 ??TableView1.Columns [0] .Width = TableView1.W / 2 - 15 ??TableView1.Columns [1] .Width = TableView1.W / 2 - 15 End Public Sub showCombo (tabIndex As Integer) ??Dim Xstart, CorrY As Integer ??myCombo.w = TableView1 [0, 1] .Width ??myCombo.h = TableView1 [0, 1] .Height ??myCombo.Y = TableView1 [tabIndex, 1] .Y ??myCombo.X = TableView1 [tabIndex, 1] .x End Public Sub tabEvents_Click () ?? ??show combo (Last.row) ?? End ' -------------------------------------------------------------------------------------------------------------------- It works very well too. But, if I scroll the view into the area whose cells are first visible by scrolling, then the position fails (thus here: myCombo.Y = TableView1 [tabIndex, 1] .Y) Perhaps this can be compensated by a correction factor. But I think the tableview should also place in the not (always) visible area correctly. Thanks for the help - I need her :-(. Von meinem Sony Xperia?-Smartphone gesendet -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: viewtest.tar Type: application/x-tar Size: 30720 bytes Desc: not available URL: From bagonergi at gmail.com Mon Mar 11 17:25:08 2019 From: bagonergi at gmail.com (Gianluigi) Date: Mon, 11 Mar 2019 17:25:08 +0100 Subject: [Gambas-user] Tableview problem In-Reply-To: References: Message-ID: Il giorno lun 11 mar 2019 alle ore 15:28 Peter Peyotle ha scritto: > Hello and good day. > > I have the following problem: > > I put a combo box (or another control) in a cell of a tableview. The > ComboBox is set by clicking on the cell. > I use the following code: > ' > ----------------------------------------------------------------------------------------------- > 'Gambas class file > > Private myCombo As ComboBox > > Public Sub form_Open () > myCombo = New ComboBox (TableView1.Children [0]) > Object.Attach (TableView1, Me, "tabEvents") > > TableView1.Columns.Count = 2 > TableView1.rows.Count = 15 > TableView1.Columns [0] .Width = TableView1.W / 2 - 15 > TableView1.Columns [1] .Width = TableView1.W / 2 - 15 > End > > Public Sub showCombo (tabIndex As Integer) > Dim Xstart, CorrY As Integer > > myCombo.w = TableView1 [0, 1] .Width > myCombo.h = TableView1 [0, 1] .Height > > myCombo.Y = TableView1 [tabIndex, 1] .Y > myCombo.X = TableView1 [tabIndex, 1] .x > End > > Public Sub tabEvents_Click () > > show combo (Last.row) > > End > > ' > -------------------------------------------------------------------------------------------------------------------- > > It works very well too. > But, if I scroll the view into the area whose cells are first visible by > scrolling, then the position fails (thus here: myCombo.Y = TableView1 > [tabIndex, 1] .Y) > > Perhaps this can be compensated by a correction factor. > But I think the tableview should also place in the not (always) visible > area correctly. > > Thanks for the help - I need her :-(. > > I attach a project that could offer you some ideas. It comes from this discussion on Gambas-it.org [0]. Use the translator for explanations (they are in Italian). Regards Gianluigi [0] https://www.gambas-it.org/smf/index.php?topic=4921.0 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ButtonDraw-0.0.3.tar.gz Type: application/gzip Size: 23816 bytes Desc: not available URL: From charlie at cogier.com Mon Mar 11 18:45:11 2019 From: charlie at cogier.com (Charlie Ogier) Date: Mon, 11 Mar 2019 17:45:11 +0000 Subject: [Gambas-user] Tableview problem In-Reply-To: References: Message-ID: <2517e76b-167b-4ad0-b177-d1416bb9d11b@cogier.com> Hi Peter, Try the code below in a new project: - *' --------------------------------------------------------------------------------------------------------------------* *ComboBox1 As ComboBox** **TableView1 As TableView** ** **Public Sub Form_Open()** ** **With Me** **? .Padding = 5** **? .Arrangement = Arrange.Vertical** **End With** ** **ComboBox1 = New ComboBox(Me)** ** **With ComboBox1** **? .Visible = False** **? .List = ["", "One", "Two", "Three", "Four", "Five"]** **End With** ** **TableView1 = New TableView(Me) As "TableView1"** ** **With TableView1** **? .Expand = True** **? .Columns.Count = 2** **? .Rows.Count = 50** **End With** ** **Form_Resize** ** **End ** ** **Public Sub TableView1_Click()** ** **TableView1.EditWith(ComboBox1)** **ComboBox1.Text = ComboBox1.List[1]** ** **End** ** **Public Sub TableView1_Save(Row As Integer, Column As Integer, Value As String)** ** **TableView1[Row, Column].Text = Value** ** **End** ** **Public Sub Form_Resize()** ** **TableView1.Columns[0].Width = (TableView1.W - (Me.padding * 2)) / 2 ** ** **End** **' --------------------------------------------------------------------------------------------------------------------** ** *Hope it helps. Charlie* ** *On 11/03/2019 14:27, Peter Peyotle wrote: > Hello and good day. > > I have the following problem: > > I put a combo box (or another control) in a cell of a tableview. The > ComboBox is set by clicking on the cell. > I use the following code: > ' > ----------------------------------------------------------------------------------------------- > 'Gambas class file > > Private myCombo As ComboBox > > Public Sub form_Open () > myCombo = New ComboBox (TableView1.Children [0]) > Object.Attach (TableView1, Me, "tabEvents") > > ??TableView1.Columns.Count = 2 > ??TableView1.rows.Count = 15 > ??TableView1.Columns [0] .Width = TableView1.W / 2 - 15 > ??TableView1.Columns [1] .Width = TableView1.W / 2 - 15 > End > > Public Sub showCombo (tabIndex As Integer) > ??Dim Xstart, CorrY As Integer > > ??myCombo.w = TableView1 [0, 1] .Width > ??myCombo.h = TableView1 [0, 1] .Height > > ??myCombo.Y = TableView1 [tabIndex, 1] .Y > ??myCombo.X = TableView1 [tabIndex, 1] .x > End > > Public Sub tabEvents_Click () > > ??show combo (Last.row) > > End > ' > -------------------------------------------------------------------------------------------------------------------- > > It works very well too. > But, if I scroll the view into the area whose cells are first visible > by scrolling, then the position fails (thus here: myCombo.Y = > TableView1 [tabIndex, 1] .Y) > > Perhaps this can be compensated by a correction factor. > But I think the tableview should also place in the not (always) > visible area correctly. > > Thanks for the help - I need her :-(. > > > > Von meinem Sony Xperia?-Smartphone gesendet > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Mon Mar 11 19:55:19 2019 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Mon, 11 Mar 2019 19:55:19 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Done... I think. I'm not very skilled on git neither gitlab, but I think I've done. I did it once and then clicked on "Close Merge Request".. don't ask me why. So I did another merge request. Hope all its OK now. Best Regards El lun., 11 mar. 2019 a las 14:01, Fabien Bodard () escribi?: > Maybe a new event _BeforeClose could be a good idea too. > > Le lun. 11 mars 2019 ? 13:50, Beno?t Minisini a ?crit : > > > > Le 11/03/2019 ? 13:07, Jorge Carri?n a ?crit : > > > Lately I have developed a project that handles a series of long and > > > tedious texts to complete. To edit them I use some forms within a > > > workspace control. However I haven't found a way to prevent that if you > > > press the button to close all the tabs all the work is lost (CloseAll > > > Event is raised after all windows is closed). > > > So I modified the source code of the control by adding the Boolean > > > property CloseButton (the same one that has the tabstrip control). It > > > works very well, just put it to False and the close all windows button > > > does not appear. > > > The modification is very small but it saves many troubles. > > > I do not know if it's interesting for someone else, but here's the > > > source code of the modified WorksPace. > > > > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > > > > > > > If you can use git and make a merge request to GitLab, it would be cool. > > > > -- > > Beno?t Minisini > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Mar 11 20:12:11 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 11 Mar 2019 20:12:11 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Le 11/03/2019 ? 19:55, Jorge Carri?n a ?crit?: > Done... I think. I'm not very skilled on git neither gitlab, but I think > I've done. > > I did it once and then clicked on "Close Merge Request".. don't ask me > why. So I did another merge request. Hope all its OK now. > > Best Regards > I thought it was intented. :-) Anyway, once you have done a merge request, you can continue to work on it, it will be automatically updated by GitLab. For example, you can try to replace the CloseButton property in FWorkspace by a public variable : you don't have to create a property for an internal class when it's just for storing a boolean value. Regards, -- Beno?t Minisini From peterpeyotle at gmx.de Mon Mar 11 20:44:44 2019 From: peterpeyotle at gmx.de (Peter Peyotle) Date: Mon, 11 Mar 2019 20:44:44 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: I dont no why i receive your mail. Im waiting to for another answer from gambas user. So long ... Peter Von meinem Sony Xperia?-Smartphone gesendet ---- Jorge Carri?n schrieb ---- >Done... I think. I'm not very skilled on git neither gitlab, but I think >I've done. > >I did it once and then clicked on "Close Merge Request".. don't ask me why. >So I did another merge request. Hope all its OK now. > >Best Regards > >El lun., 11 mar. 2019 a las 14:01, Fabien Bodard () >escribi?: > >> Maybe a new event _BeforeClose could be a good idea too. >> >> Le lun. 11 mars 2019 ? 13:50, Beno?t Minisini a ?crit : >> > >> > Le 11/03/2019 ? 13:07, Jorge Carri?n a ?crit : >> > > Lately I have developed a project that handles a series of long and >> > > tedious texts to complete. To edit them I use some forms within a >> > > workspace control. However I haven't found a way to prevent that if you >> > > press the button to close all the tabs all the work is lost (CloseAll >> > > Event is raised after all windows is closed). >> > > So I modified the source code of the control by adding the Boolean >> > > property CloseButton (the same one that has the tabstrip control). It >> > > works very well, just put it to False and the close all windows button >> > > does not appear. >> > > The modification is very small but it saves many troubles. >> > > I do not know if it's interesting for someone else, but here's the >> > > source code of the modified WorksPace. >> > > >> > > >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >> ]---- >> > > >> > >> > If you can use git and make a merge request to GitLab, it would be cool. >> > >> > -- >> > Beno?t Minisini >> > >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> >> >> >> -- >> Fabien Bodard >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > >----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon Mar 11 20:47:22 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 11 Mar 2019 15:47:22 -0400 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: <1871c6b3-c568-91f0-eb8b-d4bcde79003c@gmail.com> You received the mail, perhaps because you are subscribed to the Gambas-user mailing list? ___ Lee On 3/11/19 3:44 PM, Peter Peyotle wrote: > I dont no why i receive your mail. > Im waiting to for another answer from gambas user. > > So long ... Peter From shordi at gmail.com Mon Mar 11 21:25:30 2019 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Mon, 11 Mar 2019 21:25:30 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: ok. I'll do so. Thanks El lun., 11 mar. 2019 a las 20:13, Beno?t Minisini () escribi?: > Le 11/03/2019 ? 19:55, Jorge Carri?n a ?crit : > > Done... I think. I'm not very skilled on git neither gitlab, but I think > > I've done. > > > > I did it once and then clicked on "Close Merge Request".. don't ask me > > why. So I did another merge request. Hope all its OK now. > > > > Best Regards > > > > I thought it was intented. :-) > > Anyway, once you have done a merge request, you can continue to work on > it, it will be automatically updated by GitLab. > > For example, you can try to replace the CloseButton property in > FWorkspace by a public variable : you don't have to create a property > for an internal class when it's just for storing a boolean value. > > Regards, > > -- > Beno?t Minisini > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Mon Mar 11 21:38:14 2019 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Mon, 11 Mar 2019 21:38:14 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Done. I'll commit the changes. Hope that's enough. Best Regards El lun., 11 mar. 2019 a las 21:25, Jorge Carri?n () escribi?: > ok. I'll do so. > Thanks > > El lun., 11 mar. 2019 a las 20:13, Beno?t Minisini () > escribi?: > >> Le 11/03/2019 ? 19:55, Jorge Carri?n a ?crit : >> > Done... I think. I'm not very skilled on git neither gitlab, but I >> think >> > I've done. >> > >> > I did it once and then clicked on "Close Merge Request".. don't ask me >> > why. So I did another merge request. Hope all its OK now. >> > >> > Best Regards >> > >> >> I thought it was intented. :-) >> >> Anyway, once you have done a merge request, you can continue to work on >> it, it will be automatically updated by GitLab. >> >> For example, you can try to replace the CloseButton property in >> FWorkspace by a public variable : you don't have to create a property >> for an internal class when it's just for storing a boolean value. >> >> Regards, >> >> -- >> Beno?t Minisini >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Mar 12 09:21:26 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 12 Mar 2019 09:21:26 +0100 Subject: [Gambas-user] A new property of WorkSpace In-Reply-To: References: Message-ID: Il giorno lun 11 mar 2019 alle ore 20:45 Peter Peyotle ha scritto: > I dont no why i receive your mail. > Im waiting to for another answer from gambas user. > > So long ... Peter > I answered your question by attaching a project. Even Charlie Ogier replied. If you have not received it see in the spam Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From peterpeyotle at gmx.de Tue Mar 12 09:26:55 2019 From: peterpeyotle at gmx.de (Peter Peyotle) Date: Tue, 12 Mar 2019 09:26:55 +0100 Subject: [Gambas-user] Tableview problem In-Reply-To: <2517e76b-167b-4ad0-b177-d1416bb9d11b@cogier.com> References: <2517e76b-167b-4ad0-b177-d1416bb9d11b@cogier.com> Message-ID: Thank you for your answer. I solved the problem. The cells have a continuous internal top component. then top is bigger than the field of vision. my control must be placed in the field of view. a cell is (unfortunately) not a container. So I have to insert the control relative to the scroll position. this is tableview [a, b] .y - tableview.scrollY that's it :-), juhuuuuu Von meinem Sony Xperia?-Smartphone gesendet ---- Charlie Ogier schrieb ---- >Hi Peter, > >Try the code below in a new project: - > >*' >--------------------------------------------------------------------------------------------------------------------* >*ComboBox1 As ComboBox** >**TableView1 As TableView** >** >**Public Sub Form_Open()** >** >**With Me** >**? .Padding = 5** >**? .Arrangement = Arrange.Vertical** >**End With** >** >**ComboBox1 = New ComboBox(Me)** >** >**With ComboBox1** >**? .Visible = False** >**? .List = ["", "One", "Two", "Three", "Four", "Five"]** >**End With** >** >**TableView1 = New TableView(Me) As "TableView1"** >** >**With TableView1** >**? .Expand = True** >**? .Columns.Count = 2** >**? .Rows.Count = 50** >**End With** >** >**Form_Resize** >** >**End ** >** >**Public Sub TableView1_Click()** >** >**TableView1.EditWith(ComboBox1)** >**ComboBox1.Text = ComboBox1.List[1]** >** >**End** >** >**Public Sub TableView1_Save(Row As Integer, Column As Integer, Value As >String)** >** >**TableView1[Row, Column].Text = Value** >** >**End** >** >**Public Sub Form_Resize()** >** >**TableView1.Columns[0].Width = (TableView1.W - (Me.padding * 2)) / 2 ** >** >**End** >**' >--------------------------------------------------------------------------------------------------------------------** >** >*Hope it helps. > >Charlie* >** > > >*On 11/03/2019 14:27, Peter Peyotle wrote: >> Hello and good day. >> >> I have the following problem: >> >> I put a combo box (or another control) in a cell of a tableview. The >> ComboBox is set by clicking on the cell. >> I use the following code: >> ' >> ----------------------------------------------------------------------------------------------- >> 'Gambas class file >> >> Private myCombo As ComboBox >> >> Public Sub form_Open () >> myCombo = New ComboBox (TableView1.Children [0]) >> Object.Attach (TableView1, Me, "tabEvents") >> >> ??TableView1.Columns.Count = 2 >> ??TableView1.rows.Count = 15 >> ??TableView1.Columns [0] .Width = TableView1.W / 2 - 15 >> ??TableView1.Columns [1] .Width = TableView1.W / 2 - 15 >> End >> >> Public Sub showCombo (tabIndex As Integer) >> ??Dim Xstart, CorrY As Integer >> >> ??myCombo.w = TableView1 [0, 1] .Width >> ??myCombo.h = TableView1 [0, 1] .Height >> >> ??myCombo.Y = TableView1 [tabIndex, 1] .Y >> ??myCombo.X = TableView1 [tabIndex, 1] .x >> End >> >> Public Sub tabEvents_Click () >> >> ??show combo (Last.row) >> >> End >> ' >> -------------------------------------------------------------------------------------------------------------------- >> >> It works very well too. >> But, if I scroll the view into the area whose cells are first visible >> by scrolling, then the position fails (thus here: myCombo.Y = >> TableView1 [tabIndex, 1] .Y) >> >> Perhaps this can be compensated by a correction factor. >> But I think the tableview should also place in the not (always) >> visible area correctly. >> >> Thanks for the help - I need her :-(. >> >> >> >> Von meinem Sony Xperia?-Smartphone gesendet >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > >----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From peterpeyotle at gmx.de Tue Mar 12 09:27:29 2019 From: peterpeyotle at gmx.de (Peter Peyotle) Date: Tue, 12 Mar 2019 09:27:29 +0100 Subject: [Gambas-user] Tableview problem In-Reply-To: References: Message-ID: Thank you for your answer. I solved the problem. The cells have a continuous internal top component. then top is bigger than the field of vision. my control must be placed in the field of view. a cell is (unfortunately) not a container. So I have to insert the control relative to the scroll position. this is tableview [a, b] .y - tableview.scrollY. that's it :-), juhuuuuu Von meinem Sony Xperia?-Smartphone gesendet ---- Gianluigi schrieb ---- >Il giorno lun 11 mar 2019 alle ore 15:28 Peter Peyotle >ha scritto: > >> Hello and good day. >> >> I have the following problem: >> >> I put a combo box (or another control) in a cell of a tableview. The >> ComboBox is set by clicking on the cell. >> I use the following code: >> ' >> ----------------------------------------------------------------------------------------------- >> 'Gambas class file >> >> Private myCombo As ComboBox >> >> Public Sub form_Open () >> myCombo = New ComboBox (TableView1.Children [0]) >> Object.Attach (TableView1, Me, "tabEvents") >> >> TableView1.Columns.Count = 2 >> TableView1.rows.Count = 15 >> TableView1.Columns [0] .Width = TableView1.W / 2 - 15 >> TableView1.Columns [1] .Width = TableView1.W / 2 - 15 >> End >> >> Public Sub showCombo (tabIndex As Integer) >> Dim Xstart, CorrY As Integer >> >> myCombo.w = TableView1 [0, 1] .Width >> myCombo.h = TableView1 [0, 1] .Height >> >> myCombo.Y = TableView1 [tabIndex, 1] .Y >> myCombo.X = TableView1 [tabIndex, 1] .x >> End >> >> Public Sub tabEvents_Click () >> >> show combo (Last.row) >> >> End >> >> ' >> -------------------------------------------------------------------------------------------------------------------- >> >> It works very well too. >> But, if I scroll the view into the area whose cells are first visible by >> scrolling, then the position fails (thus here: myCombo.Y = TableView1 >> [tabIndex, 1] .Y) >> >> Perhaps this can be compensated by a correction factor. >> But I think the tableview should also place in the not (always) visible >> area correctly. >> >> Thanks for the help - I need her :-(. >> >> >I attach a project that could offer you some ideas. >It comes from this discussion on Gambas-it.org [0]. >Use the translator for explanations (they are in Italian). > >Regards >Gianluigi > >[0] https://www.gambas-it.org/smf/index.php?topic=4921.0 > > >----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From antonio.j.teixeira at gmail.com Tue Mar 12 12:22:42 2019 From: antonio.j.teixeira at gmail.com (Antonio Teixeira) Date: Tue, 12 Mar 2019 11:22:42 +0000 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: Hi, I am trying to use the TextEditor (gb.form.editor) but I cant find the way to change ShowLineNumber property. in the wiki I have this : Control.showlinenumber (gb.qt4)? *This symbol does not exist.* Any help please? Thank you Ant?nio Teixeira > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Mar 12 13:35:44 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 12 Mar 2019 13:35:44 +0100 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: I don't understand the question, TextEditor1.ShowLineNumber is a boolean, you can try: Public Sub Button1_Click() TextEditor1.ShowLineNumber = Not TextEditor1.ShowLineNumber End Regards Gianluigi Il giorno mar 12 mar 2019 alle ore 12:23 Antonio Teixeira < antonio.j.teixeira at gmail.com> ha scritto: > Hi, > > I am trying to use the TextEditor (gb.form.editor) but I cant find the > way to change ShowLineNumber property. > in the wiki I have this : > > Control.showlinenumber (gb.qt4)? > > *This symbol does not exist.* > > Any help please? > > Thank you > > Ant?nio Teixeira > > >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Tue Mar 12 14:24:30 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 12 Mar 2019 14:24:30 +0100 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: It seem there is something wrong in the doc http://gambaswiki.org/wiki/comp/gb.form.editor/texteditor/showlinenumber Le mar. 12 mars 2019 ? 13:36, Gianluigi a ?crit : > > I don't understand the question, TextEditor1.ShowLineNumber is a boolean, you can try: > Public Sub Button1_Click() > TextEditor1.ShowLineNumber = Not TextEditor1.ShowLineNumber > End > Regards > Gianluigi > > Il giorno mar 12 mar 2019 alle ore 12:23 Antonio Teixeira ha scritto: >> >> Hi, >> >> I am trying to use the TextEditor (gb.form.editor) but I cant find the way to change ShowLineNumber property. >> in the wiki I have this : >> >> Control.showlinenumber (gb.qt4)? >> >> This symbol does not exist. >> >> >> Any help please? >> >> Thank you >> >> Ant?nio Teixeira >> >>> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From cedron at exede.net Tue Mar 12 20:26:49 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 12 Mar 2019 15:26:49 -0400 (EDT) Subject: [Gambas-user] Programming is supposed to be fun, Part 2. Message-ID: <1011798406.128704118.1552418809520.JavaMail.zimbra@exede.net> The next installment of "Programming is supposed to be fun" has been posted. https://forum.gambas.one/viewtopic.php?f=4&t=674#p1528 Note: "my" > "$my" > "$" Too cryptic? If you liked the bouncing button you are going to like this. [Up], [Down], [Space], [Esc] From jussi.lahtinen at gmail.com Tue Mar 12 21:23:01 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 12 Mar 2019 22:23:01 +0200 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: What do you mean? It seems correct. Jussi On Tue, Mar 12, 2019 at 3:25 PM Fabien Bodard wrote: > It seem there is something wrong in the doc > > http://gambaswiki.org/wiki/comp/gb.form.editor/texteditor/showlinenumber > > Le mar. 12 mars 2019 ? 13:36, Gianluigi a ?crit : > > > > I don't understand the question, TextEditor1.ShowLineNumber is a > boolean, you can try: > > Public Sub Button1_Click() > > TextEditor1.ShowLineNumber = Not TextEditor1.ShowLineNumber > > End > > Regards > > Gianluigi > > > > Il giorno mar 12 mar 2019 alle ore 12:23 Antonio Teixeira < > antonio.j.teixeira at gmail.com> ha scritto: > >> > >> Hi, > >> > >> I am trying to use the TextEditor (gb.form.editor) but I cant find the > way to change ShowLineNumber property. > >> in the wiki I have this : > >> > >> Control.showlinenumber (gb.qt4)? > >> > >> This symbol does not exist. > >> > >> > >> Any help please? > >> > >> Thank you > >> > >> Ant?nio Teixeira > >> > >>> > >> > >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Tue Mar 12 22:08:27 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 12 Mar 2019 22:08:27 +0100 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: Funny... now it work Le mar. 12 mars 2019 21:24, Jussi Lahtinen a ?crit : > What do you mean? It seems correct. > > Jussi > > On Tue, Mar 12, 2019 at 3:25 PM Fabien Bodard wrote: > >> It seem there is something wrong in the doc >> >> http://gambaswiki.org/wiki/comp/gb.form.editor/texteditor/showlinenumber >> >> Le mar. 12 mars 2019 ? 13:36, Gianluigi a ?crit : >> > >> > I don't understand the question, TextEditor1.ShowLineNumber is a >> boolean, you can try: >> > Public Sub Button1_Click() >> > TextEditor1.ShowLineNumber = Not TextEditor1.ShowLineNumber >> > End >> > Regards >> > Gianluigi >> > >> > Il giorno mar 12 mar 2019 alle ore 12:23 Antonio Teixeira < >> antonio.j.teixeira at gmail.com> ha scritto: >> >> >> >> Hi, >> >> >> >> I am trying to use the TextEditor (gb.form.editor) but I cant find >> the way to change ShowLineNumber property. >> >> in the wiki I have this : >> >> >> >> Control.showlinenumber (gb.qt4)? >> >> >> >> This symbol does not exist. >> >> >> >> >> >> Any help please? >> >> >> >> Thank you >> >> >> >> Ant?nio Teixeira >> >> >> >>> >> >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >> ]---- >> > >> > >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >> ]---- >> >> >> >> -- >> Fabien Bodard >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From antonio.j.teixeira at gmail.com Wed Mar 13 11:06:38 2019 From: antonio.j.teixeira at gmail.com (Antonio Teixeira) Date: Wed, 13 Mar 2019 10:06:38 +0000 Subject: [Gambas-user] TextEditor In-Reply-To: References: Message-ID: Hi, You are all right. Before using TextEditor I was trying Editor and in that control there were some issues. Now all is working as should be. Thank you all for your support. Regards Antonio Teixeira -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Wed Mar 13 22:30:25 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 13 Mar 2019 17:30:25 -0400 (EDT) Subject: [Gambas-user] Is this the correct way to deal with File.In terminal settings? Message-ID: <1777672751.130157410.1552512625115.JavaMail.zimbra@exede.net> I want to shut of canonical and echo, then restore them when done. Excerpting from my code, I am doing this: ================================================================= '---- Save the Terminal Settings Dim theSavedTS As TerminalSettings Dim theUpdateTS As TerminalSettings theSavedTS = File.In.Term.GetAttr() '---- Turn Off Canonical and Echo theUpdateTS = theSavedTS.Copy() theUpdateTS.ICANON = False theUpdateTS.ECHO = False File.In.Term.SetAttr(gb.Write, theUpdateTS) '---- . . . '---- Restore the Terminal Settings File.In.Term.SetAttr(gb.Write, theSavedTS) ================================================================= I kind of reached where the pavement ends in the documentation on this one. This is based on how termios is programmed in C. P.S. Anybody got any good ASCII art for a monkey hurling coconuts? From bagonergi at gmail.com Wed Mar 13 22:57:42 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 13 Mar 2019 22:57:42 +0100 Subject: [Gambas-user] Overflow error Message-ID: A friend of ours of the Italian forum gets the Overflow bus error (7) [0] in a program with many calculations. What is the probable cause, programming error or hardware error? Regards and Good night Gianluigi [0] http://gambaswiki.org/wiki/error/overflow -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Wed Mar 13 23:33:32 2019 From: taboege at gmail.com (Tobias Boege) Date: Wed, 13 Mar 2019 23:33:32 +0100 Subject: [Gambas-user] Overflow error In-Reply-To: References: Message-ID: <20190313223332.GT27111@highrise.localdomain> On Wed, 13 Mar 2019, Gianluigi wrote: > A friend of ours of the Italian forum gets the Overflow bus error (7) [0] > in a program with many calculations. > What is the probable cause, programming error or hardware error? > In the interpreter, I've found two places from where this error is raised (there might be more): 1. When a Float or Long is converted to a Single but the Float/Long is too big: Print CSingle(2 ^ 500) 2. When Date arithmetic produces a value outside of 32 bits: Print DateDiff(CFloat(2 ^ 50), CFloat(1), gb.Second) The JIT compiler header adds another source of overflow checks. Without the source code -- who can know? Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bagonergi at gmail.com Wed Mar 13 23:53:50 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 13 Mar 2019 23:53:50 +0100 Subject: [Gambas-user] Overflow error In-Reply-To: <20190313223332.GT27111@highrise.localdomain> References: <20190313223332.GT27111@highrise.localdomain> Message-ID: Il giorno mer 13 mar 2019 alle ore 23:34 Tobias Boege ha scritto: > On Wed, 13 Mar 2019, Gianluigi wrote: > > A friend of ours of the Italian forum gets the Overflow bus error (7) [0] > > in a program with many calculations. > > What is the probable cause, programming error or hardware error? > > > > In the interpreter, I've found two places from where this error is raised > (there might be more): > > 1. When a Float or Long is converted to a Single but the Float/Long > is too big: Print CSingle(2 ^ 500) > > 2. When Date arithmetic produces a value outside of 32 bits: > Print DateDiff(CFloat(2 ^ 50), CFloat(1), gb.Second) > > The JIT compiler header adds another source of overflow checks. > Without the source code -- who can know? > > Regards, > Tobi > Hi Tobias, I believe that your explanations are more than enough. Thank you very much, I'm going to report. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Mar 14 00:08:28 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 14 Mar 2019 00:08:28 +0100 Subject: [Gambas-user] Is this the correct way to deal with File.In terminal settings? In-Reply-To: <1777672751.130157410.1552512625115.JavaMail.zimbra@exede.net> References: <1777672751.130157410.1552512625115.JavaMail.zimbra@exede.net> Message-ID: <22f0145e-7137-4725-bedb-8245be39c9ae@gmail.com> Le 13/03/2019 ? 22:30, Cedron Dawg a ?crit?: > I want to shut of canonical and echo, then restore them when done. > > Excerpting from my code, I am doing this: > ================================================================= > > '---- Save the Terminal Settings > > Dim theSavedTS As TerminalSettings > Dim theUpdateTS As TerminalSettings > > theSavedTS = File.In.Term.GetAttr() Yes: TerminalSettings is the equivalent of "struct termios". > > '---- Turn Off Canonical and Echo > > theUpdateTS = theSavedTS.Copy() > > theUpdateTS.ICANON = False > theUpdateTS.ECHO = False > > File.In.Term.SetAttr(gb.Write, theUpdateTS) No: SetAttr() is like OS function tcsetattr(). The second argument is like its third argument, i.e. a constant among: Term.TCSANOW, Term.TCSADRAIN or Term.TCSAFLUSH. 'man tcsetattr' for the details. -- Beno?t Minisini From cedron at exede.net Thu Mar 14 00:55:04 2019 From: cedron at exede.net (Cedron Dawg) Date: Wed, 13 Mar 2019 19:55:04 -0400 (EDT) Subject: [Gambas-user] Is this the correct way to deal with File.In terminal settings? In-Reply-To: <22f0145e-7137-4725-bedb-8245be39c9ae@gmail.com> References: <1777672751.130157410.1552512625115.JavaMail.zimbra@exede.net> <22f0145e-7137-4725-bedb-8245be39c9ae@gmail.com> Message-ID: <2002417013.130314753.1552521304457.JavaMail.zimbra@exede.net> Okay, a little more hunting brings this. =========================== '---- Put the Terminal in a Raw State theUpdateTS = theSavedTS.Copy() theUpdateTS.MakeRaw() File.In.Term.SetAttr(Term.TCSANOW, theUpdateTS) =========================== I had no clue before what to use for the "mode" parameter. http://gambaswiki.org/wiki/comp/gb.term/.stream.term http://gambaswiki.org/wiki/comp/gb.term/.stream.term/setattr Still, the fundamentals are correct aren't they? 1) Save the settings 2) Make a copy of the settings 3) Modify the setting 4) Apply the modified Settings .... 5) Restore Original settings I mean it works. It worked before. But just because it works doesn't mean you are doing it right. It's been twenty years since I did this the last time, so I'm a little unclear on it. The Raw works a little different than what I had, but that is okay too. Any cautionary advice as I dive recklessly into the abyss? ----- Original Message ----- From: "Beno?t Minisini" No: SetAttr() is like OS function tcsetattr(). The second argument is like its third argument, i.e. a constant among: Term.TCSANOW, Term.TCSADRAIN or Term.TCSAFLUSH. 'man tcsetattr' for the details. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 16 15:14:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 10:14:40 -0400 (EDT) Subject: [Gambas-user] Simplifying Complex Numbers Message-ID: <1124715877.1519740.1552745680030.JavaMail.zimbra@exede.net> If you are learning about complex numbers, or have students among your friends and family who are, you may find my latest blog article helpful. So fresh the bits are still wet. Titled: Angle Addition Formulas from Euler's Formula https://www.dsprelated.com/showarticle/1238.php Near the bottom it features sample Gambas code showing off some of its Complex number capability. From g4mba5 at gmail.com Sat Mar 16 16:37:07 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 16 Mar 2019 16:37:07 +0100 Subject: [Gambas-user] Simplifying Complex Numbers In-Reply-To: <1124715877.1519740.1552745680030.JavaMail.zimbra@exede.net> References: <1124715877.1519740.1552745680030.JavaMail.zimbra@exede.net> Message-ID: <62aa9d88-3149-8f02-e7d3-0e2834fd5efe@gmail.com> Le 16/03/2019 ? 15:14, Cedron Dawg a ?crit?: > If you are learning about complex numbers, or have students among your friends and family who are, you may find my latest blog article helpful. So fresh the bits are still wet. > > Titled: Angle Addition Formulas from Euler's Formula > > https://www.dsprelated.com/showarticle/1238.php > > Near the bottom it features sample Gambas code showing off some of its Complex number capability. > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Cool. Maybe you didn't notice, but instead of writing: z1 = New Complex(3, 4) you can actually write: z1 = 3 + 4i Note that, as 'i' is an identifier, you have to write "1i" to get i. Regards, -- Beno?t Minisini From cedron at exede.net Sat Mar 16 17:13:36 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 12:13:36 -0400 (EDT) Subject: [Gambas-user] Simplifying Complex Numbers In-Reply-To: <62aa9d88-3149-8f02-e7d3-0e2834fd5efe@gmail.com> References: <1124715877.1519740.1552745680030.JavaMail.zimbra@exede.net> <62aa9d88-3149-8f02-e7d3-0e2834fd5efe@gmail.com> Message-ID: <2086838149.1616806.1552752816905.JavaMail.zimbra@exede.net> That's slick. I've updated my article. I also dropped the "ToString()" for an even cleaner look. ----- Original Message ----- From: "Beno?t Minisini" Cool. Maybe you didn't notice, but instead of writing: z1 = New Complex(3, 4) you can actually write: z1 = 3 + 4i Note that, as 'i' is an identifier, you have to write "1i" to get i. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From charlie at cogier.com Sat Mar 16 17:39:22 2019 From: charlie at cogier.com (Charlie Ogier) Date: Sat, 16 Mar 2019 16:39:22 +0000 Subject: [Gambas-user] Gambas Farm, minor bug Message-ID: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> Hi, If a program is published on the Farm using "Keep the screenshot stored on the server" option, the program is published with no screenshot. Thanks, Charlie From cedron at exede.net Sat Mar 16 17:53:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 12:53:40 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes Message-ID: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> As I said in my previous reply, Hungarian isn't as beneficial as it is touted. What is more important when looking at code is knowing where the variable is defined and thus its scope. That's what I use prefixes for. Here is my current set: ========= Property/Variable Prefixes --------- (none1) Simple local variables, e.g. i, x, N, etc. (none2) Gambas Property Declaration (none3) Subroutine Names the Within a Sub My Public - Within a Class my (or $my) Private Property/Variable Arg Argument in Public Routine arg Argument in Private Routine Ret Updatable Argument in Public Routine ret Updatable Argument in Private Routine Our Static Public Property/Variable our ($our) Static Private Property/Variable ========= The only one you guys use is "$", so I included it for kicks though it is redundant with my and thus qualifies as an uglifier. Though its utility is unquestionable. Now expand that to this set. This prefixing system is way way way more useful than Hungarian. Combine with good suffixing indicating the kind of variable which generally implies the type: e.g. myPostCount my = private class variable Post = the actual thing Count = "Count of" implying integer e.g. myPostIndex e.g. MyLastName The additional benefit of this system is that it avoids almost all name collisions with system names and makes global search and replaces a lot less error prone. From bagonergi at gmail.com Sat Mar 16 18:25:08 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 16 Mar 2019 18:25:08 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> Message-ID: http://gambaswiki.org/wiki/doc/namingconvention?ht=prefix http://gambaswiki.org/wiki/doc/naming I try to follow these conventions and I'm happy if others do, so the code is more readable. Regards Gianluigi Il giorno sab 16 mar 2019 alle ore 17:54 Cedron Dawg ha scritto: > As I said in my previous reply, Hungarian isn't as beneficial as it is > touted. What is more important when looking at code is knowing where the > variable is defined and thus its scope. > > That's what I use prefixes for. Here is my current set: > > ========= > Property/Variable Prefixes > --------- > (none1) Simple local variables, e.g. i, x, N, etc. > (none2) Gambas Property Declaration > (none3) Subroutine Names > > the Within a Sub > > My Public - Within a Class > my (or $my) Private Property/Variable > > Arg Argument in Public Routine > arg Argument in Private Routine > > Ret Updatable Argument in Public Routine > ret Updatable Argument in Private Routine > > Our Static Public Property/Variable > our ($our) Static Private Property/Variable > ========= > > The only one you guys use is "$", so I included it for kicks though it is > redundant with my and thus qualifies as an uglifier. Though its utility is > unquestionable. Now expand that to this set. > > This prefixing system is way way way more useful than Hungarian. > > Combine with good suffixing indicating the kind of variable which > generally implies the type: > > e.g. myPostCount > > my = private class variable > > Post = the actual thing > > Count = "Count of" implying integer > > e.g. myPostIndex > > e.g. MyLastName > > The additional benefit of this system is that it avoids almost all name > collisions with system names and makes global search and replaces a lot > less error prone. > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 16 18:55:33 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 13:55:33 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> Message-ID: <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> More readable for whom? Even between those two references there is disagreement on what the prefixes should be. That's what I meant by non-standardized. I am crazy, I think everybody should do it my way because it is demonstrably superior. Here is an example: Here is a code snippet from Settings.class, the original and one dressed up by me. If you were a maintenance programmer or somebody trying to figure out what the code is doing, which is more readable and comprehensible? 1) Renamed Variables 2) Added explicit return values 3) Moved dims closer to their usage (There might be a bug in this code, please check the ????? in my version. Not sure because I don't haven't looked at what the calling routine is doing.) I am assuming that the Return (no arguments) return a False The Original: Private Sub SameSetting(vOld As Variant, vNew As Variant) As Boolean Dim I As Integer Dim vOldVal As Variant Dim vNewVal As Variant If IsNull(vOld) And If IsNull(vNew) Then Return True If TypeOf(vOld) <> gb.Object And If TypeOf(vNew) <> gb.Object Then Return vOld = vNew If Not (vOld Is Array) Then Return If Not (vNew Is Array) Then Return If vOld.Count <> vNew.Count Then Return If vOld = vNew Then Return For I = 0 To vOld.Max vOldVal = vOld[I] vNewVal = vNew[I] If TypeOf(vOldVal) = gb.Object Or If TypeOf(vNewVal) = gb.Object Then Return If vOldVal <> vNewVal Then Return Next Return True End Here is how I would have code it: (Notice how the spaces inside the parentheses also improve readability.) '============================================================================= Private Sub SameSetting( argOldValues As Variant, argNewValues As Variant ) As Boolean '---- Bail as Matching if Both Null If IsNull( argOldValues ) And If IsNull( argNewValues ) Then Return True '---- Bail On Simple Variables Comparison If TypeOf( argOldValues ) <> gb.Object And If TypeOf( argNewValues ) <> gb.Object Then Return ( argOldValues = argNewValues ) '---- Bail as not Matching on Non-Array Objects If Not ( argOldValues Is Array ) Then Return False If Not ( argNewValues Is Array ) Then Return False '---- Bail as not Matching on Count Comparison If argOldValues.Count <> argNewValues.Count Then Return False If argOldValues = argNewValues Then Return True '?????????? Same Array should be True, No? '---- Bail on any Mismatched Array Elements Dim i As Integer Dim theOldValue As Variant Dim theNewValue As Variant For i = 0 To argOldValues.Max theOldValue = argOldValues[i] theNewValue = argNewValues[i] If TypeOf(theOldValue) = gb.Object Or If TypeOf(theNewValue) = gb.Object Then Return False If theOldValue <> theNewValue Then Return False Next '---- Exit as Matching Return True End '============================================================================= ----- Original Message ----- From: "Gianluigi" To: "user" Sent: Saturday, March 16, 2019 1:25:08 PM Subject: Re: [Gambas-user] Better use of prefixes [ http://gambaswiki.org/wiki/doc/namingconvention?ht=prefix | http://gambaswiki.org/wiki/doc/namingconvention?ht=prefix ] [ http://gambaswiki.org/wiki/doc/naming | http://gambaswiki.org/wiki/doc/naming ] I try to follow these conventions and I'm happy if others do, so the code is more readable. Regards Gianluigi From cedron at exede.net Sat Mar 16 19:07:18 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 14:07:18 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> Message-ID: <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> Variables that are object references, should be suffixed as such. For instance, Dim theNewTB as TextBox Dim theRoughDraftDA as DrawingArea Or you can optionally go full out if there is only one Sub FillWithYoMommasName( argTextBox as TextBox ) Sub FillWithYoMommasName( argTB as TextBox ) For local variables without a prefix, I use upper case for objects, lower case for variables. I've been doing this a lot lately: Dim theResult As String Dim O As Stream O = Open String For Write Print #O, .... Print #O, .... Print #O, .... theResult = Close #O From bagonergi at gmail.com Sat Mar 16 19:40:54 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 16 Mar 2019 19:40:54 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> Message-ID: > More readable for whom? For me I speak only for myself. The prefix is not a dogma is an indication and the programmers who use I find them very nice. If I read a variable $ iMyNumber or $ nMyNumber or $ lngMyNumber I understand that it is an integer, if I read btnNumber or btNumber I understand that it refers to a Button. For example, I use btn for each type of button, not just Button. No one forces anyone and you are free to do as you wish. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 16 20:25:02 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 15:25:02 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> Message-ID: <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> Understood, and I'm not disagreeing. But I am saying you can do better. If a newbie needs a secret decoder ring to figure it out, it isn't clear. $iMyNumber $nMyNumber $lngMyNumber What does the "My" mean here? You can specify the type explicitly as a suffix if you really need to. myNumberInt myNumber??? myNumberLong What does "n - An integer storing a number of objects." even mean? Integers store bits (or Horsey Numbers). Do you mean "Count"? "NumberButton" to me, immediately says I have a button on the form with the caption "Number", so the routine name would be: Sub NumberButton_Click() Clear, even to a guppy. Do you think "Sub btnNumber_Click()" is really better? How about iCount? What does that tell you? You've got an integer that is counting, but counting what, where is it defined? theCount would say the same thing. Counts are always integers aren't they? theLineCount tells me a local variable counting lines argLineCount tells me a passed argument in a private sub myLineCount tells me it is a class level private variable MyLineCount tells me it is an exposed class level public variable. theEmptyLineCount theFullLineCount theResult is not as clear. If needed, add a type: theResultInt or kind: theResultText A good specifier is location + identification + kind. Look at a filepec = path + basename + extension The bottom line is code should be as readable to as wide of an audience as possible, not tailored to specific conventions understood by a select few. >From your own reference "All the users of the hungarian convention that I know have in a first time hated it". Damn straight and for good reason. It is backward, like reverse Polish calculators. Again, from a program maintenance point of view, knowing the scope of a variable is a lot more important than knowing its type. Following my convention you get both in a readable format vs only type (with the $ exception) in the (not sure what polite words to use here). When I taught a class in advanced VB many years ago and we went through the exercise of placing controls on a form, I would have them hit [End] and backspace to remove the number, then [Home] to enter a meaningful name, then [Shift-Home] to highlight it, [Ctrl-C] to copy, then click on the Caption property and [Ctrl-V] to paste. This works well in Gambas too. ----- Original Message ----- From: "Gianluigi" > More readable for whom? For me I speak only for myself. The prefix is not a dogma is an indication and the programmers who use I find them very nice. If I read a variable $ iMyNumber or $ nMyNumber or $ lngMyNumber I understand that it is an integer, if I read btnNumber or btNumber I understand that it refers to a Button. For example, I use btn for each type of button, not just Button. No one forces anyone and you are free to do as you wish. Regards Gianluigi From genbraga1 at gmail.com Sat Mar 16 20:42:40 2019 From: genbraga1 at gmail.com (gen braga) Date: Sat, 16 Mar 2019 16:42:40 -0300 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> Message-ID: If you allow me, in this case I do. And all buttons get grouped in the IDE method selector. You presented several good ideas indeed but I advocate the "KISS" method, with less options. But, afterall, its a matter of personal preference, since based on simple guidelines. Cheers, Gen. Em s?b, 16 de mar de 2019 16:26, Cedron Dawg escreveu: > > > Do you think "Sub btnNumber_Click()" is really better? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Sat Mar 16 20:45:39 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 16 Mar 2019 20:45:39 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> Message-ID: <20190316194539.GZ27111@highrise.localdomain> On Sat, 16 Mar 2019, Cedron Dawg wrote: > More readable for whom? > > Even between those two references there is disagreement on what the prefixes should be. That's what I meant by non-standardized. > > I am crazy, > Yes, if you think that people give up the coding style used across the entire project with (note!) success for no other reason than because you come along and insist that it's no good and yours is better. I've had enough lectures about this from you, on the list and in private, to which I did not respond because I was too agitated to -- not before but too far past the boiling point where I would reply anyway. I like to live and let live. People usually think about coding style at some point and afterwards it becomes muscle memory. I let them use whatever they like and assimilate if I contribute fixes to their code. That's just courtesy. Even being non-standardised is _fine_. Whether someone calls their TextBox txtInput or txbInput or tboxInput or InputTextBox or even ourInputTB, I can handle that, I'm a human after all. > I think everybody should do it my way because it is demonstrably superior. > All I see is you explaining how it helps *you* read code and that it makes more sense to *you*. I for one very strongly dislike how it looks, and that is still an understatement. It overloads identifiers with information that I never needed to know, like a coarsened version of lexical scope or whether a variable was passed in as an argument or if it is a return value. How that simplifies understanding code any further than descriptive variable name "payload", I fail to see. When I look at your code, all I see is indistinct "clutter" because 90% of it are identifier names now. A function that was easy to grok before now looks like I should maybe go to lunch before diving into "that". Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Sat Mar 16 20:52:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 15:52:40 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> Message-ID: <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> I would argue Sub Buttons_Click() would be simpler and better for a group handler. The acid test is how comprehensible is it to a reasonably intelligent person who has no prior knowledge. Having to know a bunch of cryptic prefix abbreviations is not simple by any means. The only firm right or wrong is whether the compiler gets it right. It can be costly though if a maintainer gets it wrong. ----- Original Message ----- From: "gen braga" To: "user" Sent: Saturday, March 16, 2019 3:42:40 PM Subject: Re: [Gambas-user] Better use of prefixes If you allow me, in this case I do. And all buttons get grouped in the IDE method selector. You presented several good ideas indeed but I advocate the "KISS" method, with less options. But, afterall, its a matter of personal preference, since based on simple guidelines. Cheers, Gen. Em s?b, 16 de mar de 2019 16:26, Cedron Dawg < [ mailto:cedron at exede.net | cedron at exede.net ] > escreveu: Do you think "Sub btnNumber_Click()" is really better? From genbraga1 at gmail.com Sat Mar 16 21:00:42 2019 From: genbraga1 at gmail.com (gen braga) Date: Sat, 16 Mar 2019 17:00:42 -0300 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> Message-ID: Cedron, I didnt mean a group handler... I mean all buttons grouped sequentialy in the IDE code editor's method selector combo box: btnButtonThat_click() btnButtonThis_click() btnButtonWhatever_click() Any reasonably intelligent person would need a minimun knowledge of Gambas or VB to understand group handlers anyway. Past the needed knowledge to understand prefixes. Cheers, Gen. Em s?b, 16 de mar de 2019 16:53, Cedron Dawg escreveu: > I would argue Sub Buttons_Click() would be simpler and better for a group > handler. > > The acid test is how comprehensible is it to a reasonably intelligent > person who has no prior knowledge. Having to know a bunch of cryptic > prefix abbreviations is not simple by any means. > > The only firm right or wrong is whether the compiler gets it right. > > It can be costly though if a maintainer gets it wrong. > > > > ----- Original Message ----- > From: "gen braga" > To: "user" > Sent: Saturday, March 16, 2019 3:42:40 PM > Subject: Re: [Gambas-user] Better use of prefixes > > If you allow me, in this case I do. > > And all buttons get grouped in the IDE method selector. > > You presented several good ideas indeed but I advocate the "KISS" method, > with less options. > > But, afterall, its a matter of personal preference, since based on simple > guidelines. > > Cheers, > > Gen. > > Em s?b, 16 de mar de 2019 16:26, Cedron Dawg < [ mailto:cedron at exede.net > | cedron at exede.net ] > escreveu: > > > > > Do you think "Sub btnNumber_Click()" is really better? > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 16 21:35:41 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 16:35:41 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: <20190316194539.GZ27111@highrise.localdomain> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <20190316194539.GZ27111@highrise.localdomain> Message-ID: <1075988466.1841038.1552768541787.JavaMail.zimbra@exede.net> You have to recognize that you are as entrenched in your coding style as I am in mine. If you prefer abbreviations to full names, that is fine and I won't change your mind over that I am sure. What is used across the entire project could be changed mechanically with an intelligent search and replace, so that is an argument without foundation. What people are used to, that has inertia and is a different matter entirely. And that is what I am trying to sway. You say I am arguing because it is what "I" am used to. No, not at all, not once have I said "because I like it better", I am giving specific rationale for each convention, mostly grounded in the concept of readability and comprehensibility. And from the perspective of a beginner/outsider. Those may not be important considerations to you. If you blindly follow any policy without understanding its rationale, you are bound to screw something up at some point. I have no problem following code written in just about any style on any platform and have been doing it for many many years. My habit, when doing maintenance work has also been try to follow the style of the existing code as much as possible. Doesn't mean I like it. However, when I am wading for the first time into code I have to update, that I didn't write, having meaningful names makes it a lot easier for me to grok (Yes, I'm a Heinlein fan too) what is going on than to have to figure out what each short name stands for, or chasing down every #define. I disagree with your Mr. Monk. Doing something the way everybody does it, just because, is a logical fallacy known as "Argumentum ad populum" and has never flown with me. The "I'm crazy" thing is a lark coming off the signature I read here on this list. My guess is that you are more comfortable coding in C, using braces, instead of cluttering up your code with all those keywords. The idea behind the original BASIC, and I believe that Gambas should follow, is that it should be readable and comprehensible. You see long identifiers as a barrier to comprehensibility; I can't argue against that. However, I don't think that is a universal sentiment. Don't get angry, this is just a debate. ----- Original Message ----- From: "Tobias Boege" To: "user" Sent: Saturday, March 16, 2019 3:45:39 PM Subject: Re: [Gambas-user] Better use of prefixes On Sat, 16 Mar 2019, Cedron Dawg wrote: > More readable for whom? > > Even between those two references there is disagreement on what the prefixes should be. That's what I meant by non-standardized. > > I am crazy, > Yes, if you think that people give up the coding style used across the entire project with (note!) success for no other reason than because you come along and insist that it's no good and yours is better. I've had enough lectures about this from you, on the list and in private, to which I did not respond because I was too agitated to -- not before but too far past the boiling point where I would reply anyway. I like to live and let live. People usually think about coding style at some point and afterwards it becomes muscle memory. I let them use whatever they like and assimilate if I contribute fixes to their code. That's just courtesy. Even being non-standardised is _fine_. Whether someone calls their TextBox txtInput or txbInput or tboxInput or InputTextBox or even ourInputTB, I can handle that, I'm a human after all. > I think everybody should do it my way because it is demonstrably superior. > All I see is you explaining how it helps *you* read code and that it makes more sense to *you*. I for one very strongly dislike how it looks, and that is still an understatement. It overloads identifiers with information that I never needed to know, like a coarsened version of lexical scope or whether a variable was passed in as an argument or if it is a return value. How that simplifies understanding code any further than descriptive variable name "payload", I fail to see. When I look at your code, all I see is indistinct "clutter" because 90% of it are identifier names now. A function that was easy to grok before now looks like I should maybe go to lunch before diving into "that". Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 16 21:52:48 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 16:52:48 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> Message-ID: <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> Roger that. I don't generally use prefixes on Control Names, that's part of my (none) group. Didn't you mean? btnThat_click() btnThis_click() btnWhatever_click() I would use: ThatButton_Click() ThisButton_Click() WhateverButton_Click() for buttons on the form that say [That][This][Whatever] It's more linguistically (at least English style) consistent with natural language. Your sort order argument is valid though, but often enough don't you have a group of controls for a single purpose? So you might have NameEntryTextBox NameEntryButton NameEntryStyleComboBox I am working on fairly large application now. I am naming all the subroutines and controls with handlers a prefix for the tab they are on. That way all the routines group in the code routine list drop down. Again, the prefix has a where function to it. Same style as I use for enumerated constants "XX_". ----- Original Message ----- From: "gen braga" To: "user" Sent: Saturday, March 16, 2019 4:00:42 PM Subject: Re: [Gambas-user] Better use of prefixes Cedron, I didnt mean a group handler... I mean all buttons grouped sequentialy in the IDE code editor's method selector combo box: btnButtonThat_click() btnButtonThis_click() btnButtonWhatever_click() Any reasonably intelligent person would need a minimun knowledge of Gambas or VB to understand group handlers anyway. Past the needed knowledge to understand prefixes. Cheers, Gen. From t.lee.davidson at gmail.com Sat Mar 16 22:03:45 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 16 Mar 2019 17:03:45 -0400 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1075988466.1841038.1552768541787.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <20190316194539.GZ27111@highrise.localdomain> <1075988466.1841038.1552768541787.JavaMail.zimbra@exede.net> Message-ID: <61f2e3dc-ca51-0b2b-613a-8d326212ca58@gmail.com> On 3/16/19 4:35 PM, Cedron Dawg wrote: > What is used across the entire project could be changed mechanically with an intelligent search and replace, so that is an argument without foundation. What people are used to, that has inertia and is a different matter entirely. And that is what I am trying to sway. So, to be clear, you admit that your purpose is to sway an entire community over to your way of thinking. Is that correct? Whether one likes or dislikes the current naming convention, any significant change to that convention, would quite likely create confusion for newcomers and perhaps old-timers as well. "Why do the guidelines say this, but the code is written like that?" This would be loosely similar to a version bump that breaks API compatibility. Unless there is a compelling benefit to changing, why do it? ___ Lee From jussi.lahtinen at gmail.com Sat Mar 16 22:13:55 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 16 Mar 2019 23:13:55 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <654687594.1699493.1552759638586.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> Message-ID: I like short variable names and I find prefixes aesthetically more pleasing than postfixes. Thus I strongly prefer "btnThis" than "ThisButton". But both are fully understandable. Jussi On Sat, Mar 16, 2019 at 10:53 PM Cedron Dawg wrote: > Roger that. > > I don't generally use prefixes on Control Names, that's part of my (none) > group. > > Didn't you mean? > > btnThat_click() > btnThis_click() > btnWhatever_click() > > I would use: > > ThatButton_Click() > ThisButton_Click() > WhateverButton_Click() > > for buttons on the form that say [That][This][Whatever] > > It's more linguistically (at least English style) consistent with natural > language. > > Your sort order argument is valid though, but often enough don't you have > a group of controls for a single purpose? So you might have > > NameEntryTextBox > NameEntryButton > NameEntryStyleComboBox > > I am working on fairly large application now. I am naming all the > subroutines and controls with handlers a prefix for the tab they are on. > That way all the routines group in the code routine list drop down. > > Again, the prefix has a where function to it. Same style as I use for > enumerated constants "XX_". > > > ----- Original Message ----- > From: "gen braga" > To: "user" > Sent: Saturday, March 16, 2019 4:00:42 PM > Subject: Re: [Gambas-user] Better use of prefixes > > Cedron, > > I didnt mean a group handler... I mean all buttons grouped sequentialy in > the IDE code editor's method selector combo box: > > btnButtonThat_click() > btnButtonThis_click() > btnButtonWhatever_click() > > Any reasonably intelligent person would need a minimun knowledge of Gambas > or VB to understand group handlers anyway. Past the needed knowledge to > understand prefixes. > > Cheers, > > Gen. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 16 22:16:49 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 17:16:49 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: <61f2e3dc-ca51-0b2b-613a-8d326212ca58@gmail.com> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <20190316194539.GZ27111@highrise.localdomain> <1075988466.1841038.1552768541787.JavaMail.zimbra@exede.net> <61f2e3dc-ca51-0b2b-613a-8d326212ca58@gmail.com> Message-ID: <680814440.1893298.1552771009384.JavaMail.zimbra@exede.net> That is totally correct. See T. Kuhn "The Structure of Scientific Revolutions" Indeed, I feel there is a compelling benefit. Does it outweigh the concerns you raise, ahhh, that is a critical assessment. As I mentioned to Tobi, the guidelines can be changed, and the code converted mechanically. In no way am I advocating breaking the compiler, though I have suggested a line continuation character would be beneficial. ----- Original Message ----- From: "T Lee Davidson" To: "user" Sent: Saturday, March 16, 2019 5:03:45 PM Subject: Re: [Gambas-user] Better use of prefixes On 3/16/19 4:35 PM, Cedron Dawg wrote: > What is used across the entire project could be changed mechanically with an intelligent search and replace, so that is an argument without foundation. What people are used to, that has inertia and is a different matter entirely. And that is what I am trying to sway. So, to be clear, you admit that your purpose is to sway an entire community over to your way of thinking. Is that correct? Whether one likes or dislikes the current naming convention, any significant change to that convention, would quite likely create confusion for newcomers and perhaps old-timers as well. "Why do the guidelines say this, but the code is written like that?" This would be loosely similar to a version bump that breaks API compatibility. Unless there is a compelling benefit to changing, why do it? ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 16 22:32:46 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 17:32:46 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> Message-ID: <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> I like "suffix" rather than "postfix", but both are entirely understandable as well. It's a matter of specificity precedence if I may abuse some language. Do you like "perro negro" or "black dog"? Jussi Lahtinen or Lahtinen, Jussi I can totally understand once you get used to something, it becomes your preference. And preferences are just like opinions everybody..., ummmm, wait a moment, they are opinions. Please tell my your opinion on this. Which version do you find more comprehensible? Quick, now. http://gambaswiki.org/wiki/doc/naming I could not find "ScrollBar" or "Container". Not sure where it is in the source tree either. So I'll guess "scb" and "cnt" So my code: '============================================================================= Public Sub MoveVerticalSteps(ArgSteps As Float) Dim theNewY As Float Dim theContainer As Container theContainer = myScrollBar.Parent theNewY = myScrollBar.Y + ArgSteps * myScrollBar.H If theNewY + myScrollBar.H > theContainer.H Then myScrollBar.Y = theContainer.H - myScrollBar.H Else If theNewY < 0 Then myScrollBar.Y = 0 Else myScrollBar.Y = theNewY Endif End '============================================================================= Becomes: Dim fY As Float Dim cntMain as Container cntMain = scbMain.Parent fY = $scbMain + fSteps * $scbMain.H If fY + $scbMain.H > cntMain.H Then $scbMain.Y = cntMain.H - $scbMain.H Else If fY < 0 Then $scbMain.Y = 0 Else $scbMain.Y = fY Endif ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Saturday, March 16, 2019 5:13:55 PM Subject: Re: [Gambas-user] Better use of prefixes I like short variable names and I find prefixes aesthetically more pleasing than postfixes. Thus I strongly prefer "btnThis" than "ThisButton". But both are fully understandable. Jussi From jussi.lahtinen at gmail.com Sat Mar 16 23:02:14 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 00:02:14 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <112623341.1767055.1552764302357.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> Message-ID: I don't think your code example is representative of the whole issue. What if there are multiple containers, buttons, etc? What if there are long / complex lines? Even in your chosen example "myScrollBar" says nothing about its function or identity, only that it is scrollbar. But "scbMain" hints right away how the scrollbar is used (not much but still). More descriptive the variable name is, longer it becomes and it really adds up in already long lines. So, I chose not to waste space for the type information, when it can easily be shortened. I don't think $ is used in names of controls. They shouldn't be public anyway. Jussi On Sat, Mar 16, 2019 at 11:33 PM Cedron Dawg wrote: > I like "suffix" rather than "postfix", but both are entirely > understandable as well. > > It's a matter of specificity precedence if I may abuse some language. > > Do you like "perro negro" or "black dog"? > > Jussi Lahtinen or Lahtinen, Jussi > > I can totally understand once you get used to something, it becomes your > preference. And preferences are just like opinions everybody..., ummmm, > wait a moment, they are opinions. > > Please tell my your opinion on this. Which version do you find more > comprehensible? Quick, now. > > http://gambaswiki.org/wiki/doc/naming > > I could not find "ScrollBar" or "Container". Not sure where it is in the > source tree either. So I'll guess "scb" and "cnt" > > So my code: > > > '============================================================================= > Public Sub MoveVerticalSteps(ArgSteps As Float) > > Dim theNewY As Float > Dim theContainer As Container > > theContainer = myScrollBar.Parent > > theNewY = myScrollBar.Y + ArgSteps * myScrollBar.H > > If theNewY + myScrollBar.H > theContainer.H Then > myScrollBar.Y = theContainer.H - myScrollBar.H > Else If theNewY < 0 Then > myScrollBar.Y = 0 > Else > myScrollBar.Y = theNewY > Endif > > End > > '============================================================================= > > Becomes: > > Dim fY As Float > Dim cntMain as Container > > cntMain = scbMain.Parent > > fY = $scbMain + fSteps * $scbMain.H > > If fY + $scbMain.H > cntMain.H Then > $scbMain.Y = cntMain.H - $scbMain.H > Else If fY < 0 Then > $scbMain.Y = 0 > Else > $scbMain.Y = fY > Endif > > > > > > ----- Original Message ----- > From: "Jussi Lahtinen" > To: "user" > Sent: Saturday, March 16, 2019 5:13:55 PM > Subject: Re: [Gambas-user] Better use of prefixes > > I like short variable names and I find prefixes aesthetically more > pleasing than postfixes. > Thus I strongly prefer "btnThis" than "ThisButton". But both are fully > understandable. > > > Jussi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 16 23:27:50 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 18:27:50 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> Message-ID: <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> I think it was representative of a lot of the issues. Put up a piece of code in your preferred style, and I'll make it Dawggy Style, and we can compare. Not too long though, please. In this case there is clearly only one scrollbar, as the reference is inside a class definition that is not part of a form. Had there been more than one, a good name would be myCatapaultScrollBar or myCatapaultSB See, I'm not totally abbreviation averse. I often name references to objects with an uppercase abbreviation for the Class name. But I don't need a secret decoder ring to figure it out, just find the declartion and it becomes obvious. Private myCatapaultSB As ScrollBar As the programmer, that is different than having to know "scb" in advance. As a maintainer Private $scbMain As ScrollBar would tell me what "scb" meant. Also, in the same Class, I have: Private myW As Float ' Equilibrium Width Private myPr As Float ' Position of Recoil Factor Private myCoconut As CoconutClass So, if I do use an abbreviation, I try to always provide a comment right next to the definition saying what it stands for. Ever see a scroll bar hurl a button? I've attached the code. As for the $ on object references, the naming convention link states "All private variable names of a class start with $". I interpret an object reference as a variable. If you leave the $ off, it does indeed make the code look less "geekish", but not by much. Previous renditions of BASIC have had type declaration characters. Those were type suffixes enforced by the compiler and I used them heavily as I don't like having to dim all my variables. First thing I would do in VB is shut off "Option Explicit". Not many people used them, and Gambas doesn't support them, so that is a moot issue. Though a few function names, like ChrS(), are vestigial leftovers. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Saturday, March 16, 2019 6:02:14 PM Subject: Re: [Gambas-user] Better use of prefixes I don't think your code example is representative of the whole issue. What if there are multiple containers, buttons, etc? What if there are long / complex lines? Even in your chosen example "myScrollBar" says nothing about its function or identity, only that it is scrollbar. But "scbMain" hints right away how the scrollbar is used (not much but still). More descriptive the variable name is, longer it becomes and it really adds up in already long lines. So, I chose not to waste space for the type information, when it can easily be shortened. I don't think $ is used in names of controls. They shouldn't be public anyway. Jussi -------------- next part -------------- A non-text attachment was scrubbed... Name: CoconutThrower-0.0.2.tar.gz Type: application/x-compressed-tar Size: 14489 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Sun Mar 17 01:53:28 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 02:53:28 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <341501966.1787384.1552765960600.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> Message-ID: So, basically you are against prefixes, and instead you want suffixes. Also you do not like the current abbreviations. To me that sounds like too much work for nothing. Jussi On Sun, Mar 17, 2019 at 12:28 AM Cedron Dawg wrote: > I think it was representative of a lot of the issues. Put up a piece of > code in your preferred style, and I'll make it Dawggy Style, and we can > compare. Not too long though, please. > > In this case there is clearly only one scrollbar, as the reference is > inside a class definition that is not part of a form. > > Had there been more than one, a good name would be > > myCatapaultScrollBar or myCatapaultSB > > See, I'm not totally abbreviation averse. I often name references to > objects with an uppercase abbreviation for the Class name. But I don't > need a secret decoder ring to figure it out, just find the declartion and > it becomes obvious. > > Private myCatapaultSB As ScrollBar > > As the programmer, that is different than having to know "scb" in > advance. As a maintainer > > Private $scbMain As ScrollBar > > would tell me what "scb" meant. > > Also, in the same Class, I have: > > Private myW As Float ' Equilibrium Width > > Private myPr As Float ' Position of Recoil Factor > > Private myCoconut As CoconutClass > > So, if I do use an abbreviation, I try to always provide a comment right > next to the definition saying what it stands for. > > Ever see a scroll bar hurl a button? I've attached the code. > > As for the $ on object references, the naming convention link states "All > private variable names of a class start with $". I interpret an object > reference as a variable. If you leave the $ off, it does indeed make the > code look less "geekish", but not by much. > > Previous renditions of BASIC have had type declaration characters. Those > were type suffixes enforced by the compiler and I used them heavily as I > don't like having to dim all my variables. First thing I would do in VB is > shut off "Option Explicit". Not many people used them, and Gambas doesn't > support them, so that is a moot issue. Though a few function names, like > ChrS(), are vestigial leftovers. > > > > ----- Original Message ----- > From: "Jussi Lahtinen" > To: "user" > Sent: Saturday, March 16, 2019 6:02:14 PM > Subject: Re: [Gambas-user] Better use of prefixes > > I don't think your code example is representative of the whole issue. What > if there are multiple containers, buttons, etc? What if there are long / > complex lines? > Even in your chosen example "myScrollBar" says nothing about its function > or identity, only that it is scrollbar. But "scbMain" hints right away how > the scrollbar is used (not much but still). > More descriptive the variable name is, longer it becomes and it really > adds up in already long lines. So, I chose not to waste space for the type > information, when it can easily be shortened. > > I don't think $ is used in names of controls. They shouldn't be public > anyway. > > > Jussi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 17 02:41:06 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 21:41:06 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> Message-ID: <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> No, you must have missed the beginning of the thread. I have a set of prefixes to indicate the locus/scope of the variables. I am very much against cryptic names, crowded code, and nested #defines Is there anywhere in the CoconutThrower project that you think Hungarian notation would be beneficial? Code readability/comprehensibility is not nothing, it is quite important. ========= Property/Variable Prefixes --------- (none1) Simple local variables, e.g. i, x, N, etc. (none2) Gambas Property Declaration (none3) Subroutine Names (none4) Control Names on Forms the Within a Sub My Public - Within a Class my (or $my) Private Property/Variable Arg Argument in Public Routine arg Argument in Private Routine Ret Updatable Argument in Public Routine ret Updatable Argument in Private Routine Our Static Public Property/Variable our ($our) Static Private Property/Variable ========= * I just added (none4), but it's how I've always done it. None of them are really cryptic except for maybe "Ret" and "ret". And the set is small and immediately interpretable, no secret decoder ring needed. Though, there it is in twenty lines. It also clearly identifies all your variable names against keywords and function names. The prefixing is a relatively new (since Java naming conventions came about) innovation. So about twenty years maybe. The rest of my coding style goes back about forty years. The commenting style comes from the original PC BIOS assembly language listings. Using names like "FirstName", "LastName", "(Instance)(Kind)" is quite common in all programming languages, *and* the most prevalent in database naming conventions for fields and tables. (think variables and classes) Any DBA worth his salt is not going to allow cryptic names or type prefixes. When (the very stupid) Java naming conventions came along, yeah let's not capitalize names, but capitalize things, opposite of natural usage, it presented a problem. String lastName // Looks stupid, no? ... void setLastName( String lastName ) { this.lastName = lastName } void getLastName() { return lastName; } Clear as *fine* mud. Now try to program that with copy and paste, search and replace. Doesn't work very well. String myLastName ... void setLastName( String argLastName ) { myLastName = argLastName } void getLastName() { return myLastName; } Now all the "LastName"s are proper case, Java naming conventions followed, and copy/replace makes for efficient coding. In the old days, when I first started (punch cards and teletypes, monitors were a novelty) then source code space was at a premium. FORTRAN only allows six character names. With 64K of RAM, yeah you needed to watch the size of your symbol tables. That ain't happening anymore. The test of code readability is can you see it clearly in a plain text editor without relying on syntax coloring. Can you print it out in a listing, hang it on the wall, and point to the various logic pieces form across the room without having to parse a single word. The same is true for how you write your math, BTW, says the former Calculus TA. Speaking of FORTRAN, it is the original type prefixing language. Variables beginning with I-N are integers, and the rest are REALS (aka Single). I just figured out how to call a shared library written in FORTRAN from Gambas and will be posting that on Gambas.ONE. I have used my coding style successfully in just about every language. It even works in C/C++. You should have explicit procedure separators, don't really on an IDE to show you them at display time. Hence '============================================================================= They should go to column 79 so they don't cause a CR in a terminal display. This also gives you a guideline to keep your syntax in bounds. Not always possible without a line continuation character. I love having GOSUBs available. A super advantage of BASIC over any other language (except assembler). If you looked at my code, you would have found a few. '----------------------------------------------------------------------------- These make nice separators for Gosubs. '---- BASIC C---- FORTRAN //--- C++ / Java /*--- True C */ ;---- Assembly #---- Python etc. These little markers in your code let you state the purpose of each block of code within a routine. They are easy to scan for so creating an overview of your code is simple. Here is part of the overview from the ScrollBarThrower Class Public Sub Throw(ArgCoconut As CoconutClass) - Bail if already Throwing - Store and Prepare the Coconut - Set the State to Attack When you are maintaining code, or trying to follow it, they are a tremendous help. By indenting the code eight spaces underneath, it makes the whole form like an outline. A tried and true organizational methodology. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Saturday, March 16, 2019 8:53:28 PM Subject: Re: [Gambas-user] Better use of prefixes So, basically you are against prefixes, and instead you want suffixes. Also you do not like the current abbreviations. To me that sounds like too much work for nothing. Jussi From cedron at exede.net Sun Mar 17 03:46:21 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 16 Mar 2019 22:46:21 -0400 (EDT) Subject: [Gambas-user] Access the power of FORmula TRANslation. Message-ID: <1568578678.2194216.1552790781756.JavaMail.zimbra@exede.net> Yep, it's doable. Punch cards not required. https://forum.gambas.one/viewtopic.php?f=4&t=683 Titled: Calling FORTRAN Shared Libraries from Gambas From jussi.lahtinen at gmail.com Sun Mar 17 04:24:17 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 05:24:17 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <347901777.1864379.1552769568168.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> Message-ID: > > Is there anywhere in the CoconutThrower project that you think Hungarian > notation would be beneficial? > It's very simple and have descriptive variable names, thus the choice of the naming convention doesn't really make any difference. But I would have preferred the official. Btw, why arrays of objects, when you use only one of each? > Code readability/comprehensibility is not nothing, it is quite important. > Of course, but I don't see how this contributes to it. I see at best equivalent naming convention without any real advantage. You criticize prefixes example "scb" being unclear (it's simple abbreviation), but what you offer instead is only more unclear. Our, My, the... I have no idea how did you derive them or why you need them. I don't even like the use of $, but it's just one character so I don't really mind. "My"... public within class? What does that mean? Opposed to what? Public within module? They are all classes. > You should have explicit procedure separators, don't really on an IDE to > show you them at display time. Hence > > > '============================================================================= > Why? Why you need these? Something wrong with the IDE? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 17 05:28:43 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 00:28:43 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> Message-ID: <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> Let me try to answer. The intent of the program is to be an instructional guide for newbies/programmers from other platforms. So it is KISS, simple. That should have been "rely" not "really". You can't rely on your source code being viewed in an IDE. For instance, when you post it to a site, email it to someone, etc. The same is true for syntax coloring, nice, but you shouldn't rely on it for readability. Ever heard of FOO? Know what it means? First-Of-One. This FMain.class is a test cradle for the objects. Set up to show that you can make many of the objects, but you only need one to test if it works. I explained in my lengthy reply where the prefixes came from. The capitalization of the prefix to indicate public is actually something I started with Gambas, so it is really new. The "My" is actually a useful distinguisher. If I have a Gambas Property in a class, let's call it LastName, then from the outside it looks like xxxxxxxx.LastName and you use it as if it were a data element, but it actually a front for a getter/setter pair. On the other hand if it looks like xxxxxx.MyLastName then you know that you are dealing directly with a variable within the class. If I see xxxxxx.myLastName I know something is wrong. If I see xxxxx.theLastName something is really wrong because "the" should be a local routine variable and never be used as a property. Good OOP design dictates that any variable that could cause "harm" not be exposed, but put behind a getter/setter pair. Thus, many practitioners advocate only doing that and never exposing variables directly. Those of us who code for performance know that often times that is unnecessary overhead. Your shop standards may dictate how you have to do it. If you are coding for yourself, do as you please, yes? You seem to missing the distinction in the purposes of the prefix. You could never use them and it wouldn't bother me. Still, the purpose is to indicate the scope of the variable, so if I am deep in a long routine and looking at a line like theTotalAmount = myBaseAmount + argItemAmount I know the first is a local variable, the second a private property, and the third a calling argument and I'm in a private routine, and I am adding Amounts. Are they integer, float, complex? Not really that important when you are studying an algorithm, the fact that they are numeric is. I don't think anybody would think those were text. If I'm vaguely aware of what the routine is doing, then I'll know the type. But, I have error checking units. iTotal = iBase + iItem Okay, I can see they are integers. But they might be iTotalPrice = iBaseWeight + iItemHeight I have no idea what the units are. Did you ever carry units in Physics and Chemistry problems? Yes, units are a "kind". Even if you had, the "i" only tells me they are integers, marginal info at best. iTotalAmount = iBaseAmount + iItemAmount Whereas the "my" does what a "$" does, the "the" and the "my" makes the code more readable. Compare Return theTotalAmount vs Return iTotal or If theTotalAmount > myCutoffAmount Then vs If iTotalAmount > iCufoffAmount Then The first reads almost like English and the second is clearly "code". So not only does this choice of prefixes (numbering [the, my, arg, ret, our] x Capitalizaion - "The" = nine possibilities) give you valuable information about the nature of the variable it also makes your code more similar to natural language. You can't see a benefit in that? As a general rule, I never update calling arguments so "ret/Ret" is rarely used in my code, only when the routine needs to return multiple values. This is because I code across various platforms in various languages and "call by value" is the least common denominator and if you want to translate algorithms from one place to another it is one less thing you need to worry about. Having the Ret there allows the user of your routine know that they should expect that value to be updated, at least be aware it might get changed. In VB, (like FORTRAN) calling is (pass by reference), so it used to be a practice to wrao a set of parentheses around a calling argument to protect it from being updated. The reason that worked is that it made the compiler create a temporary variable to hold the result of the "expression". Yeah, shaky is right. For a form control, I would much rather see TemperatureScrollBar than scbTemp. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Saturday, March 16, 2019 11:24:17 PM Subject: Re: [Gambas-user] Better use of prefixes Is there anywhere in the CoconutThrower project that you think Hungarian notation would be beneficial? It's very simple and have descriptive variable names, thus the choice of the naming convention doesn't really make any difference. But I would have preferred the official. Btw, why arrays of objects, when you use only one of each? BQ_BEGIN Code readability/comprehensibility is not nothing, it is quite important. BQ_END Of course, but I don't see how this contributes to it. I see at best equivalent naming convention without any real advantage. You criticize prefixes example "scb" being unclear (it's simple abbreviation), but what you offer instead is only more unclear. Our, My, the... I have no idea how did you derive them or why you need them. I don't even like the use of $, but it's just one character so I don't really mind. "My"... public within class? What does that mean? Opposed to what? Public within module? They are all classes. BQ_BEGIN You should have explicit procedure separators, don't really on an IDE to show you them at display time. Hence '============================================================================= BQ_END Why? Why you need these? Something wrong with the IDE? Jussi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From adamnt42 at gmail.com Sun Mar 17 09:40:05 2019 From: adamnt42 at gmail.com (Bruce) Date: Sun, 17 Mar 2019 19:10:05 +1030 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> Message-ID: <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> It really isn't that important. 8< b From gambas.fr at gmail.com Sun Mar 17 11:23:54 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 17 Mar 2019 11:23:54 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> Message-ID: Well it's funny that Benoit, dont say anything here ... It's a formelly dead end. In fact a convention is a convention. Gambas have been started there is 20 year now and the project have it's own convention builded on years on practice. This convention have grown with the language so it feet with the need of the project. You can't come here and just say ... hey... you are in the wrong way ... let me show you the right way ... god is here. Gambas is a modern language with modern tools for coding and is for a part a blend of Java VB and C. The postfix convention can be clear in english but english is not the only native language in the gambas world. $ in the Ide convention say just hey it's a private global var. The Public var convention naming for me is like a property... just the name... well just because it's more pretty to say MyClass.Var as MyClas.iVar. A convention is a common way to call things.. every one can create one ... but only a few are used really by every one. As same as for the Gambas Language the construction have been a long process. Le dim. 17 mars 2019 ? 09:41, Bruce a ?crit : > > It really isn't that important. > 8< > b > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard From criguada at gmail.com Sun Mar 17 12:14:03 2019 From: criguada at gmail.com (Cristiano Guadagnino) Date: Sun, 17 Mar 2019 12:14:03 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> Message-ID: Personally, I would really hate having to read code formatted as you propose. I prefer the original by a long shot. Cris Il giorno sab 16 mar 2019 alle ore 18:57 Cedron Dawg ha scritto: > More readable for whom? > > (...) > The Original: > > Private Sub SameSetting(vOld As Variant, vNew As Variant) As Boolean > > Dim I As Integer > Dim vOldVal As Variant > Dim vNewVal As Variant > > If IsNull(vOld) And If IsNull(vNew) Then Return True > If TypeOf(vOld) <> gb.Object And If TypeOf(vNew) <> gb.Object Then > Return vOld = vNew > > If Not (vOld Is Array) Then Return > If Not (vNew Is Array) Then Return > If vOld.Count <> vNew.Count Then Return > If vOld = vNew Then Return > > For I = 0 To vOld.Max > vOldVal = vOld[I] > vNewVal = vNew[I] > If TypeOf(vOldVal) = gb.Object Or If TypeOf(vNewVal) = gb.Object Then > Return > If vOldVal <> vNewVal Then Return > Next > > Return True > > End > > > Here is how I would have code it: (Notice how the spaces inside the > parentheses also improve readability.) > > > > '============================================================================= > Private Sub SameSetting( argOldValues As Variant, argNewValues As Variant > ) As Boolean > > '---- Bail as Matching if Both Null > > If IsNull( argOldValues ) And If IsNull( argNewValues ) Then > Return True > > '---- Bail On Simple Variables Comparison > > If TypeOf( argOldValues ) <> gb.Object And If TypeOf( argNewValues > ) <> gb.Object Then Return ( argOldValues = argNewValues ) > > '---- Bail as not Matching on Non-Array Objects > > If Not ( argOldValues Is Array ) Then Return False > If Not ( argNewValues Is Array ) Then Return False > > '---- Bail as not Matching on Count Comparison > > If argOldValues.Count <> argNewValues.Count Then Return False > If argOldValues = argNewValues Then Return True '?????????? Same > Array should be True, No? > > '---- Bail on any Mismatched Array Elements > > Dim i As Integer > Dim theOldValue As Variant > Dim theNewValue As Variant > > For i = 0 To argOldValues.Max > theOldValue = argOldValues[i] > theNewValue = argNewValues[i] > If TypeOf(theOldValue) = gb.Object Or If TypeOf(theNewValue) = > gb.Object Then Return False > If theOldValue <> theNewValue Then Return False > Next > > '---- Exit as Matching > > Return True > > End > > '============================================================================= > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Sun Mar 17 12:15:17 2019 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 17 Mar 2019 12:15:17 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> Message-ID: Hello, an interesting debate and peaceful at the same time. For me, it is a suggestion to check my source texts to see whether they sufficiently fulfill the Gambas Convention on Designators and are consistent in themselves. There is only one point on which I will consider changes: It has always bothered me that I can't be sure that arguments in procedures in the source code are arguments. I will extend the existing convention of using arguments without prefix and add an 'Arg' to the arguments prefix in the future. Yours sincerely Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 17 15:36:56 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 10:36:56 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> Message-ID: <1817812496.2663344.1552833416191.JavaMail.zimbra@exede.net> Better vs Worse is a long way from Right vs Wrong. You guys seem to be lacking debating skills so this is a good exercise. Misrepresenting what your opponent says belongs in politics, not useful debate. I think Benoit is wise not to step in, and if a "revolution" were to occur it wouldn't happen without his blessing, nor should it. Gambas is indeed a quality piece of work. We a merely quibbling over the color of the paint. I'm a big proponent if you haven't seen it yet. ----- Original Message ----- From: "Fabien Bodard" To: "user" Sent: Sunday, March 17, 2019 6:23:54 AM Subject: Re: [Gambas-user] Better use of prefixes Well it's funny that Benoit, dont say anything here ... It's a formelly dead end. In fact a convention is a convention. Gambas have been started there is 20 year now and the project have it's own convention builded on years on practice. This convention have grown with the language so it feet with the need of the project. You can't come here and just say ... hey... you are in the wrong way ... let me show you the right way ... god is here. Gambas is a modern language with modern tools for coding and is for a part a blend of Java VB and C. The postfix convention can be clear in english but english is not the only native language in the gambas world. $ in the Ide convention say just hey it's a private global var. The Public var convention naming for me is like a property... just the name... well just because it's more pretty to say MyClass.Var as MyClas.iVar. A convention is a common way to call things.. every one can create one ... but only a few are used really by every one. As same as for the Gambas Language the construction have been a long process. From cedron at exede.net Sun Mar 17 15:38:31 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 10:38:31 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> Message-ID: <878072233.2664219.1552833511268.JavaMail.zimbra@exede.net> "No soup for you!" Of course it isn't that important, except when it is: http://articles.latimes.com/1999/oct/01/news/mn-17288 https://en.wikipedia.org/wiki/Mars_Climate_Orbiter That's the "carry the units" issue in play. However, the Little-Endians vs the Big-Endians, is just as important today as it was in Gulliver's Travels. It is not worth getting angry over, that's for sure. Either prefixing system can be converted to from the other, or from scratch, mechanically. What is left unanswered for me so far, is what is the proper convention for user defined classes? I generally do (name)Class.class for the filename and the use (name) as a suffix kind declaration. Example: CoconutClass.class --> ArgCoconut and myCoconut in the source code I provided. There is no need for a unique identifier because there is only one. Would you do "cocoThis" and add "coco" to the plethora of prefixes? ----- Original Message ----- From: "adamnt42" To: "user" Sent: Sunday, March 17, 2019 4:40:05 AM Subject: Re: [Gambas-user] Better use of prefixes It really isn't that important. 8< b ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 17 15:40:21 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 10:40:21 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> Message-ID: <699068990.2665713.1552833621787.JavaMail.zimbra@exede.net> I think so too. So far I haven't seen any counter-argument beyond "I like it, my pappy did it that way, and his pappy did it that way, and his pappy before that. If it is good enough for them, it's good enough for me." The "arg" convention comes from C of course: int main( int argc, char* argv[] ) Rather than introduce the confusion issues that Lee mentioned, may I suggest you do something in line with the current approach and perhaps just double up a dollar sign or perhaps "$_" for your argument variables. Using "$" as a prefix is already a precedent for locus specification, adding another member would serve the same purpose without introducing a hybrid approach. ----- Original Message ----- From: "Hans Lehmann" To: "user" Sent: Sunday, March 17, 2019 7:15:17 AM Subject: Re: [Gambas-user] Better use of prefixes Hello, an interesting debate and peaceful at the same time. For me, it is a suggestion to check my source texts to see whether they sufficiently fulfill the Gambas Convention on Designators and are consistent in themselves. There is only one point on which I will consider changes: It has always bothered me that I can't be sure that arguments in procedures in the source code are arguments. I will extend the existing convention of using arguments without prefix and add an 'Arg' to the arguments prefix in the future. Yours sincerely Hans ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 17 15:42:39 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 10:42:39 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> Message-ID: <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> Why? Beyond "That's what I'm used to." And is your rationale applicable to a newbie? ----- Original Message ----- From: "Cristiano Guadagnino" To: "user" Sent: Sunday, March 17, 2019 7:14:03 AM Subject: Re: [Gambas-user] Better use of prefixes Personally, I would really hate having to read code formatted as you propose. I prefer the original by a long shot. Cris Il giorno sab 16 mar 2019 alle ore 18:57 Cedron Dawg < [ mailto:cedron at exede.net | cedron at exede.net ] > ha scritto: More readable for whom? From jussi.lahtinen at gmail.com Sun Mar 17 16:41:58 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 17:41:58 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <634715686.1900954.1552771966225.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> Message-ID: > You can't rely on your source code being viewed in an IDE. For instance, > when you post it to a site, email it to someone, etc. > ... > The same is true for syntax coloring, nice, but you shouldn't rely on it > for readability. > Of course you should rely on that. There is absolutely no good reason to separate any RAD language from its IDE (or compatible IDE). Only very trivial code is ever viewed outside of IDE. And even then the source code should be posted as archive, if it is meant to be executed. This FMain.class is a test cradle for the objects. Set up to show that you > can make many of the objects, but you only need one to test if it works. > Very bad programming habit. These should be in separated unit tests or they shouldn't exist at all. > I explained in my lengthy reply where the prefixes came from. > Exactly. > ... it also makes your code more similar to natural language. You can't > see a benefit in that? > I don't see the benefit in your convention. However long descriptive variable names generally do that, but sometimes it is not beneficial for the readability (in complex lines). Programming is fundamentally different from natural languages and thus the similarity on surface doesn't always convey benefits. > For a form control, I would much rather see TemperatureScrollBar than > scbTemp. scbTemp has the same information, but in much more concise way. So, if there are long lines I would strongly prefer "scbTemp", otherwise I don't mind at all. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From criguada at gmail.com Sun Mar 17 17:33:39 2019 From: criguada at gmail.com (Cristiano Guadagnino) Date: Sun, 17 Mar 2019 17:33:39 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> Message-ID: Because I'm able to grasp the meaning of the original one at first sight, while yours seem to me an ugly mess. I especially despise the displacement of DIMs. Matter of taste/habit? Probably yes, I don't really know. The point is that I don't feel the need to change: the current notation gives me the information that I need and I don't see why I should make the effort to change for a notation that (a) you're the only proponent of, (b) is unusual to the vast majority of programmers and (c) whose benefits are yet to be demonstrated. I don't know what a newbie would be able to grasp of this discussion, nor what would he prefer to use, but I'm not very interested in that argument. Cedron, don't get me wrong: I see and appreciate your enthusiasm about Gambas and programming in general, but too much enthusiasm rapidly becomes a nuisance. Cris Il giorno dom 17 mar 2019 alle ore 15:44 Cedron Dawg ha scritto: > Why? Beyond "That's what I'm used to." > > And is your rationale applicable to a newbie? > > ----- Original Message ----- > From: "Cristiano Guadagnino" > To: "user" > Sent: Sunday, March 17, 2019 7:14:03 AM > Subject: Re: [Gambas-user] Better use of prefixes > > Personally, I would really hate having to read code formatted as you > propose. > I prefer the original by a long shot. > > Cris > > > Il giorno sab 16 mar 2019 alle ore 18:57 Cedron Dawg < [ mailto: > cedron at exede.net | cedron at exede.net ] > ha scritto: > > > More readable for whom? > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 17 17:42:37 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 12:42:37 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> Message-ID: <1495307766.2780601.1552840957762.JavaMail.zimbra@exede.net> No, you have no control over where your code may end up, nor how intact. Believing that it will always be whole and an appropriate IDE available is tenuous at best. You should expect that any piece of code to be excerpted, without the declaration of the variables included, so any information that is inherently available is beneficial. Having procedure separators explicitly in the code is more powerful. They are there. Obviously they are useful or the IDE wouldn't provide them *as an option*. I shut then off in VB, and I shut them off in Gambas, and rely on the text for the separator. If you believe your code will only ever be viewed in an appropriate IDE, well then that's not necessary, is it? A test cradle is for development and unit testing. That is exactly what that one does. How would you structure one any differently? The classes need a form to be tested on. The main benefits of my convention, compared to the current one, are specification of variable scope and a reduction of "symbols" and "cryptic abbreviations" to improve comprehensibility. If you don't know what abbreviations stand for, then the code becomes undecipherable. Your ease of reading shorter names argument is premised on a foreknowledge of abbreviation meanings. To me, that is a faulty assumption. And a burden on the reader to make them learn them. The use of the "$" specifier for private class level variables I suspect came along to distiguish the Property (name) from the private variable that supported it $(name), and then became general from there due to its utility. There are really three places where variables are declared: Class level, routine level, and calling arguments. In each of those places, a few flavors are available, e.g. static or not, public or not. My prefixing system arose to identify those. It came out of practicality and utility. Currently you have two of the three covered with "$" and "none". As I suggested to Hans Lehmann, perhaps "$$" or "$_" would be good for arguments. That gets you the scope, the flavors aren't as important. If you want to do "real programming" in a "real Programming language", as "close to the metal" as you can get, I suggest that you give hand coding opcodes (i.e. real machine language) by hand. Then you will understand that any higher "programming language", including Assembly, is an abstraction made to be human readable. If your preference is for symbols over words, then maybe C is a better fit for you than a BASIC dialect. Why use words like "and", "or", and "not" when there are perfectly good symbols, widely used and understood, for that? https://forum.gambas.one/viewtopic.php?f=4&t=669 The more you program, and the more you maintain code, and the better understanding you have about how compilers and optimizers work, the more you will realize that building "complicated" lines is a bad idea, and you are better off breaking it apart and introducing a few local variables for clarity. Ummm, "Temp" usually means "Temporary", gotcha. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Sunday, March 17, 2019 11:41:58 AM Subject: Re: [Gambas-user] Better use of prefixes You can't rely on your source code being viewed in an IDE. For instance, when you post it to a site, email it to someone, etc. ... BQ_BEGIN The same is true for syntax coloring, nice, but you shouldn't rely on it for readability. BQ_END Of course you should rely on that. There is absolutely no good reason to separate any RAD language from its IDE (or compatible IDE). Only very trivial code is ever viewed outside of IDE. And even then the source code should be posted as archive, if it is meant to be executed. BQ_BEGIN This FMain.class is a test cradle for the objects. Set up to show that you can make many of the objects, but you only need one to test if it works. BQ_END Very bad programming habit. These should be in separated unit tests or they shouldn't exist at all. BQ_BEGIN I explained in my lengthy reply where the prefixes came from. BQ_END Exactly. BQ_BEGIN ... it also makes your code more similar to natural language. You can't see a benefit in that? BQ_END I don't see the benefit in your convention. However long descriptive variable names generally do that, but sometimes it is not beneficial for the readability (in complex lines). Programming is fundamentally different from natural languages and thus the similarity on surface doesn't always convey benefits. BQ_BEGIN For a form control, I would much rather see TemperatureScrollBar than scbTemp. BQ_END scbTemp has the same information, but in much more concise way. So, if there are long lines I would strongly prefer "scbTemp", otherwise I don't mind at all. Jussi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 17 17:49:04 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 12:49:04 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> Message-ID: <757579401.2784683.1552841344606.JavaMail.zimbra@exede.net> Not trying to be a nuisance. A discussion like this is more appropriate in a forum setting, but you guys seem to prefer a mailing list format. I'd be happy to move this discussion to Gambas.ONE if others would like to. I think this discussion is reaching then end of its fruitfulness though. But a discussion like this is appropriate to have. You should know where you stand and why. I am curious what you mean by "Displacement of Dims". ----- Original Message ----- From: "Cristiano Guadagnino" To: "user" Sent: Sunday, March 17, 2019 12:33:39 PM Subject: Re: [Gambas-user] Better use of prefixes Because I'm able to grasp the meaning of the original one at first sight, while yours seem to me an ugly mess. I especially despise the displacement of DIMs. Matter of taste/habit? Probably yes, I don't really know. The point is that I don't feel the need to change: the current notation gives me the information that I need and I don't see why I should make the effort to change for a notation that (a) you're the only proponent of, (b) is unusual to the vast majority of programmers and (c) whose benefits are yet to be demonstrated. I don't know what a newbie would be able to grasp of this discussion, nor what would he prefer to use, but I'm not very interested in that argument. Cedron, don't get me wrong: I see and appreciate your enthusiasm about Gambas and programming in general, but too much enthusiasm rapidly becomes a nuisance. Cris From criguada at gmail.com Sun Mar 17 18:16:53 2019 From: criguada at gmail.com (Cristiano Guadagnino) Date: Sun, 17 Mar 2019 18:16:53 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <757579401.2784683.1552841344606.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> <757579401.2784683.1552841344606.JavaMail.zimbra@exede.net> Message-ID: > > I am curious what you mean by "Displacement of Dims". Moving DIMs from the top of the sub/function to another place. In your words: "Moved dims closer to their usage". Cris -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 17 18:43:30 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 13:43:30 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> <757579401.2784683.1552841344606.JavaMail.zimbra@exede.net> Message-ID: <1570563942.2822287.1552844610194.JavaMail.zimbra@exede.net> Okay, thanks. If it weren't for the need for the compiler to know the type of variable "Dims" wouldn't be necessary. That's why I used to use type declaration characters in the BASICs where they were available, they render the Dims unnecessary and tell you the type in a compiler rather than convention enforced way. Obviously, with more types available that kind of falls on its face. The compiler could be written to use Hungarian notation in the same way, and that would for sure enforce as standard set of abbreviations. (That is not a suggestion, BTW, I think that would be awful.) In a lot of languages, the variable allocation statements, have to come before the code execution. This restriction comes from having one pass compilers where the data area needs to be laid out before the machine code starts being written. I hope we have come a long way from that. Putting them at the top of a routine, like you prefer, let's you see all the variables that a routine uses right away. I don't see a big need for that. If you consider my little section markers as dividing a routine into a set of tasks, for lack of a better word, then I like to place the dims at the top of the Task, not interspersed in the syntax itself. So we are kind of in agreement. For me, I will want to reference the Dim statement when I want to find out the specific type of a variable, thus having it closer helps. That is in Gambas (or VB). In C++, I have no problem doing for( int i = 0, i < n; i++ ) and declaring it right next to the usage. C doesn't allow this. One of the annoying little differences between the two. ----- Original Message ----- From: "Cristiano Guadagnino" To: "user" Sent: Sunday, March 17, 2019 1:16:53 PM Subject: Re: [Gambas-user] Better use of prefixes I am curious what you mean by "Displacement of Dims". Moving DIMs from the top of the sub/function to another place. In your words: "Moved dims closer to their usage". Cris ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Sun Mar 17 18:46:51 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 17 Mar 2019 13:46:51 -0400 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1817812496.2663344.1552833416191.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> <1817812496.2663344.1552833416191.JavaMail.zimbra@exede.net> Message-ID: <5b20898e-ef6d-f1ef-6218-29af9e116ded@gmail.com> On 3/17/19 10:36 AM, Cedron Dawg wrote: > You guys seem to be lacking debating skills so this is a good exercise. Lack of interest in debating a particular resolution is not equivalent to lack of debating skills. I have seen no one here lament their lack of debating skills and express a desire to improve them. So, your assertion that, "this is a good exercise," because in your view, we obviously need such exercise, is rather condescending. What others likely see as discussion, you are trying to turn into a debate whether or not anyone else is interested in such a debate. Nonetheless, the proponent of a debate resolution has the burden of proof. All I have seen in your arguments is personal preference. ___ Lee From cedron at exede.net Sun Mar 17 19:01:26 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 14:01:26 -0400 (EDT) Subject: [Gambas-user] Speaking of optimizations Message-ID: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> I just found out about the .Max property of arrays, saving having to do a .Count - 1. I like it, but the name is a little confusing to me, I thought it would mean MaxValue, not MaxIndex. No I can't think of a better short word. "Top" is misleading, so is "Limit". My real question is a performance related one. Given: Dim a As New String[100] Dim i, m As Integer . . m = a.Max For i = 0 To m ... Next . . For i = 0 To a.Max ... Next Does the first loop give any performance advantage over the second one? Or does the compiler recognize that "a" won't change size in the loop and implement the first form under the covers? From jussi.lahtinen at gmail.com Sun Mar 17 19:06:25 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 20:06:25 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1495307766.2780601.1552840957762.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1099193227.1937641.1552775270129.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <1495307766.2780601.1552840957762.JavaMail.zimbra@exede.net> Message-ID: > No, you have no control over where your code may end up, nor how intact. > Believing that it will always be whole and an appropriate IDE available is > tenuous at best. > Why should I care?? I only provide the code as it is meant to be used, if someone chooses to mess with the code, it is their problem and fault. There is no way to prevent messing of your code if it is open source. Nor there should be a way. Having procedure separators explicitly in the code is more powerful. They > are there. Obviously they are useful or the IDE wouldn't provide them *as > an option*. I shut then off in VB, and I shut them off in Gambas, and rely > on the text for the separator. > You turn the automatic feature off, so that you could do all the unnecessary work manually. Not interested. > A test cradle is for development and unit testing. That is exactly what > that one does. How would you structure one any differently? The classes > need a form to be tested on. > Well, it is not clear from the code that it is merely a test for the classes. The main benefits of my convention, compared to the current one, are > specification of variable scope and a reduction of "symbols" and "cryptic > abbreviations" to improve comprehensibility. If you don't know what > abbreviations stand for, then the code becomes undecipherable. > And yet it's you who wants the cryptical stuff; my, ret, Our, etc, which doesn't really add anything usable. Your ease of reading shorter names argument is premised on a foreknowledge > of abbreviation meanings. To me, that is a faulty assumption. And a > burden on the reader to make them learn them. > They are abbreviations, thus they can be figured out from reading code. Everything requires learning. It's not immediately clear what is ComboBox until you see one. What you suggest doesn't really change the learning curve. > ..., is an abstraction made to be human readable. > Of course, but what you don't seem to be able to understand, is that your convention does not do that in opinion of other programmers. > ... building "complicated" lines is a bad idea, and you are better off > breaking it apart and introducing a few local variables for clarity. > Yes, but it doesn't need to be that complex, when long variable names turns into nuisance. > Ummm, "Temp" usually means "Temporary", gotcha. > Depends on context, which you gave me (temperature). Normally the context comes from the code. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Sun Mar 17 19:10:21 2019 From: taboege at gmail.com (Tobias Boege) Date: Sun, 17 Mar 2019 19:10:21 +0100 Subject: [Gambas-user] Speaking of optimizations In-Reply-To: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> References: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> Message-ID: <20190317181021.GA31492@highrise.localdomain> On Sun, 17 Mar 2019, Cedron Dawg wrote: > I just found out about the .Max property of arrays, saving having to do a .Count - 1. > > I like it, but the name is a little confusing to me, I thought it would mean MaxValue, not MaxIndex. No I can't think of a better short word. "Top" is misleading, so is "Limit". > > My real question is a performance related one. Given: > > Dim a As New String[100] > Dim i, m As Integer > . > . > m = a.Max > For i = 0 To m > ... > Next > . > . > For i = 0 To a.Max > ... > Next > > Does the first loop give any performance advantage over the second one? Or does the compiler recognize that "a" won't change size in the loop and implement the first form under the covers? > They are the same. The "For To" loop does even less than what you expect it to: the To part is only once at the beginning: Public Sub Main() For i As Integer = 0 To i + 1 Print i Next End > 0 > 1 Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From taboege at gmail.com Sun Mar 17 19:13:41 2019 From: taboege at gmail.com (Tobias Boege) Date: Sun, 17 Mar 2019 19:13:41 +0100 Subject: [Gambas-user] Speaking of optimizations In-Reply-To: <20190317181021.GA31492@highrise.localdomain> References: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> <20190317181021.GA31492@highrise.localdomain> Message-ID: <20190317181341.GB31492@highrise.localdomain> On Sun, 17 Mar 2019, Tobias Boege wrote: > the To part is only once at the beginning: ... evaluated ... -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From cedron at exede.net Sun Mar 17 19:22:32 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 14:22:32 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: <5b20898e-ef6d-f1ef-6218-29af9e116ded@gmail.com> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <436a2f75-9f6e-adff-281e-a0c2384863d6@gmail.com> <1817812496.2663344.1552833416191.JavaMail.zimbra@exede.net> <5b20898e-ef6d-f1ef-6218-29af9e116ded@gmail.com> Message-ID: <133635463.2854826.1552846952535.JavaMail.zimbra@exede.net> I'm sorry Lee. I see it the opposite. I've meticulously avoided saying "it's because I like it", or "I'm used to it, you would be too if you adopted it", and tried to present attributes such as "more natural language like", or "easier for newbies", or "more informative". The vast majority of responses are of a "we've done it this way all along" or "it's easier for me because that's how I learned it." I.e. preferences rather than rationales. The exception is Jussi, and the others, who claim that longer words clutter the code and impair readability for them, that having to learn abbreviations should be expected to be part of the learning curve. "Appealing to the crowd", "Appealing to Authority", "Ad hominem", and a few more have all come into play. I didn't mean the "you" to imply everybody here, just those employing these tactics. So yeah, I feel comfortable in saying the debating/discussion skills of those could use some practice. Consider that, as well as this email, condescending if you wish. I prefer the term blunt. I'm drawing no conclusions about those who don't participate. I do hope it is stimulating some considerations though. ----- Original Message ----- From: "T Lee Davidson" To: "user" Sent: Sunday, March 17, 2019 1:46:51 PM Subject: Re: [Gambas-user] Better use of prefixes On 3/17/19 10:36 AM, Cedron Dawg wrote: > You guys seem to be lacking debating skills so this is a good exercise. Lack of interest in debating a particular resolution is not equivalent to lack of debating skills. I have seen no one here lament their lack of debating skills and express a desire to improve them. So, your assertion that, "this is a good exercise," because in your view, we obviously need such exercise, is rather condescending. What others likely see as discussion, you are trying to turn into a debate whether or not anyone else is interested in such a debate. Nonetheless, the proponent of a debate resolution has the burden of proof. All I have seen in your arguments is personal preference. ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 17 19:45:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 14:45:40 -0400 (EDT) Subject: [Gambas-user] Better use of prefixes In-Reply-To: References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <1495307766.2780601.1552840957762.JavaMail.zimbra@exede.net> Message-ID: <839841450.2863467.1552848340255.JavaMail.zimbra@exede.net> The manual work isn't that hard really. I simply defined "'=" in the [Tools\Preferences\Code Snippets] for new routines. Most routines I get from copying/pasting/modifying other routines so bringing along the divider is really no cost at all. I actually do most my coding (C/C++/Python/Java) in a text editor. Faster that way. Gambas is the first IDE I've preferred over that since VB. "my", "our", and "the" are words they are not cryptic. "arg" and "ret" are the only abbreviations, and they are easily understood, so they aren't really cryptic either. They are used as modifiers to the actual variable names which generally remain the same as they move between scopes. And that is the full set. Include capitalization as a public/private indicator and you have all you need. I have no problem using simple one or two character names within a routine instead of theFormalName. However, the arguments should be formal names. e.g DoTheCalculation( ta ) DoTheCalculation( theTotalAmount ) . . . Sub DoTheCalculation( argTotalAmount as Integer ) If you think TotAmt would be a better name, so be it, but it is more cryptic. When I speak of the complexity of the code, I am talking about the number of operations and such, the length of the names has no bearing on that metric. No, I gave you two possible names as an example: TemperatureScrollBar and scbTemp. Without the former, no inference could be made about the latter. Indeed the usage would likely be within the context of developing an application for which it would be understood, but that is an assumption. ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Sunday, March 17, 2019 2:06:25 PM Subject: Re: [Gambas-user] Better use of prefixes No, you have no control over where your code may end up, nor how intact. Believing that it will always be whole and an appropriate IDE available is tenuous at best. Why should I care?? I only provide the code as it is meant to be used, if someone chooses to mess with the code, it is their problem and fault. There is no way to prevent messing of your code if it is open source. Nor there should be a way. BQ_BEGIN Having procedure separators explicitly in the code is more powerful. They are there. Obviously they are useful or the IDE wouldn't provide them *as an option*. I shut then off in VB, and I shut them off in Gambas, and rely on the text for the separator. BQ_END You turn the automatic feature off, so that you could do all the unnecessary work manually. Not interested. BQ_BEGIN A test cradle is for development and unit testing. That is exactly what that one does. How would you structure one any differently? The classes need a form to be tested on. BQ_END Well, it is not clear from the code that it is merely a test for the classes. BQ_BEGIN The main benefits of my convention, compared to the current one, are specification of variable scope and a reduction of "symbols" and "cryptic abbreviations" to improve comprehensibility. If you don't know what abbreviations stand for, then the code becomes undecipherable. BQ_END And yet it's you who wants the cryptical stuff; my, ret, Our, etc, which doesn't really add anything usable. BQ_BEGIN Your ease of reading shorter names argument is premised on a foreknowledge of abbreviation meanings. To me, that is a faulty assumption. And a burden on the reader to make them learn them. BQ_END They are abbreviations, thus they can be figured out from reading code. Everything requires learning. It's not immediately clear what is ComboBox until you see one. What you suggest doesn't really change the learning curve. BQ_BEGIN ..., is an abstraction made to be human readable. BQ_END Of course, but what you don't seem to be able to understand, is that your convention does not do that in opinion of other programmers. BQ_BEGIN ... building "complicated" lines is a bad idea, and you are better off breaking it apart and introducing a few local variables for clarity. BQ_END Yes, but it doesn't need to be that complex, when long variable names turns into nuisance. BQ_BEGIN Ummm, "Temp" usually means "Temporary", gotcha. BQ_END Depends on context, which you gave me (temperature). Normally the context comes from the code. Jussi ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sun Mar 17 19:50:25 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 17 Mar 2019 14:50:25 -0400 (EDT) Subject: [Gambas-user] Speaking of optimizations In-Reply-To: <20190317181021.GA31492@highrise.localdomain> References: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> <20190317181021.GA31492@highrise.localdomain> Message-ID: <2015782574.2880745.1552848625858.JavaMail.zimbra@exede.net> Thanks. That differs a bit from prior BASICS, but it'll make for cleaner code. Good to know. ----- Original Message ----- From: "Tobias Boege" They are the same. The "For To" loop does even less than what you expect it to: the To part is only once at the beginning: Public Sub Main() For i As Integer = 0 To i + 1 Print i Next End > 0 > 1 Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From jussi.lahtinen at gmail.com Sun Mar 17 20:31:53 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 17 Mar 2019 21:31:53 +0200 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <839841450.2863467.1552848340255.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <1265969580.2125556.1552786866928.JavaMail.zimbra@exede.net> <320041724.2253171.1552796923240.JavaMail.zimbra@exede.net> <1495307766.2780601.1552840957762.JavaMail.zimbra@exede.net> <839841450.2863467.1552848340255.JavaMail.zimbra@exede.net> Message-ID: The manual work isn't that hard really. No doubt, it is just completely unnecessary. > I actually do most my coding (C/C++/Python/Java) in a text editor. Faster > that way. Gambas is the first IDE I've preferred over that since VB. > Yeah, they are kinda different languages. I don't use much IDE for C either (except for Arduino). > "my", "our", and "the" are words they are not cryptic. Of course they are. You have no way to know what they mean in context of programming. You have to look them from your code table. > No, I gave you two possible names as an example: TemperatureScrollBar and > scbTemp. Without the former, no inference could be made about the latter. > Indeed the usage would likely be within the context of developing an > application for which it would be understood, but that is an assumption. > You wrote* "For a form control, I would much rather see TemperatureScrollBar than scbTemp.", *which clearly implies they mean the same. Now you are lying. Or did you mean to write "For a form control, I would much rather see TemperatureScrollBar than TemporaryScrollBar."? Doesn't make much sense! "Appealing to the crowd" and "Appealing to Authority" are informal fallacies, they don't automatically mean the argument is wrong or fallacious. Authority here is Benoit, and he ultimately makes the decision. However you can always fork Gambas and hope someone follows you (I doubt). Also the current convention pleases most of the people, which is it's only purpose. Thus neither of those fallacies apply to this conversation. IE you have fallacy fallacy. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Sun Mar 17 22:13:35 2019 From: taboege at gmail.com (Tobias Boege) Date: Sun, 17 Mar 2019 22:13:35 +0100 Subject: [Gambas-user] Better use of prefixes In-Reply-To: <1570563942.2822287.1552844610194.JavaMail.zimbra@exede.net> References: <746916269.1642751.1552755220706.JavaMail.zimbra@exede.net> <794937360.1692995.1552758933622.JavaMail.zimbra@exede.net> <817222397.2666894.1552833759546.JavaMail.zimbra@exede.net> <757579401.2784683.1552841344606.JavaMail.zimbra@exede.net> <1570563942.2822287.1552844610194.JavaMail.zimbra@exede.net> Message-ID: <20190317211335.GD31492@highrise.localdomain> On Sun, 17 Mar 2019, Cedron Dawg wrote: > In a lot of languages, the variable allocation statements, have to come before the code execution. This restriction comes from having one pass compilers where the data area needs to be laid out before the machine code starts being written. I hope we have come a long way from that. > You'd be surprised, not a very long way. It was added last December, first released as Gambas 3.12.0 [1]. The addition was not welcomed by everybody IIRC [2] and in the end I don't remember why it was added. (Maybe it was even me who brought it up [3]) Regards, Tobi [1] http://gambaswiki.org/wiki/doc/release/3.12.0?ht=anywhere [2] https://lists.gambas-basic.org/pipermail/user/2018-December/066027.html [3] http://gambaswiki.org/bugtracker/edit?object=BUG.1361 -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From g4mba5 at gmail.com Mon Mar 18 15:51:06 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 18 Mar 2019 15:51:06 +0100 Subject: [Gambas-user] About Gambas naming convention Message-ID: Hi, I didn't read all the mails, not enough time. :-) The Gambas naming convention is not really mandatory at all. It comes from the way I wrote Visual Basic code when I was using Visual Basic in my job, plus the decision to use "$" to make the difference between local variables and private static variables. I didn't even write the wiki page about naming convention. I think that naming convention is necessary but is mainly a matter of personal taste. I use with Gambas some sort of hungarian notation, but not at all when writing C, C++ code. I was thinking why I'm using that convention, what the rational is behind it, and here is the result of my thought: 1) The name of a variable tells what is stored inside. 2) Why adding a prefix? To tell how the thing stored in the variable is represented: by a number, by a string, by a reference to a Gambas object. 3) Why telling that a variable is an array or a collection? Because these data structures are often used for moving from the representation of a thing to another representation of the same thing, or a representation of another thing. So it's important to notice. 4) Why using specific prefix for controls? No real reason there, it's just comes from an old Visual Basic habit. 5) Why not using prefix for global variables? No real reason too, except that it's nicer to look like other global symbols like methods or properties. As you see, if you are looking for coherency, you can move on. It's just easier that code introduced in the Gambas source tree follows this convention so that everybody can read the code without having to learn ten different naming conventions. The more important for me, is chosing good names for symbols. Especially when they are public. Not too short, not too long, informative enough so that commentaries are not needed (this is not always possible, but the less comments are needed, the best it is). Regards, -- Beno?t Minisini From cedron at exede.net Mon Mar 18 16:55:51 2019 From: cedron at exede.net (Cedron Dawg) Date: Mon, 18 Mar 2019 11:55:51 -0400 (EDT) Subject: [Gambas-user] About Gambas naming convention In-Reply-To: References: Message-ID: <1389793692.3788403.1552924551756.JavaMail.zimbra@exede.net> As the originator and main contributor of that thread, I would say don't bother. There is too much mud wrestling and not very much resolution. I was just about to post a long follow up in fresh thread with a comparison between the two approaches. Instead, if there are no objections, I think I will polish it a bit more and post it to Gambas.ONE where it can be discussed in a forum context. Having this list will help a lot. Ced ----- Original Message ----- From: "Beno?t Minisini" Hi, I didn't read all the mails, not enough time. :-) The Gambas naming convention is not really mandatory at all. It comes from the way I wrote Visual Basic code when I was using Visual Basic in my job, plus the decision to use "$" to make the difference between local variables and private static variables. I didn't even write the wiki page about naming convention. I think that naming convention is necessary but is mainly a matter of personal taste. I use with Gambas some sort of hungarian notation, but not at all when writing C, C++ code. I was thinking why I'm using that convention, what the rational is behind it, and here is the result of my thought: 1) The name of a variable tells what is stored inside. 2) Why adding a prefix? To tell how the thing stored in the variable is represented: by a number, by a string, by a reference to a Gambas object. 3) Why telling that a variable is an array or a collection? Because these data structures are often used for moving from the representation of a thing to another representation of the same thing, or a representation of another thing. So it's important to notice. 4) Why using specific prefix for controls? No real reason there, it's just comes from an old Visual Basic habit. 5) Why not using prefix for global variables? No real reason too, except that it's nicer to look like other global symbols like methods or properties. As you see, if you are looking for coherency, you can move on. It's just easier that code introduced in the Gambas source tree follows this convention so that everybody can read the code without having to learn ten different naming conventions. The more important for me, is chosing good names for symbols. Especially when they are public. Not too short, not too long, informative enough so that commentaries are not needed (this is not always possible, but the less comments are needed, the best it is). Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From charlie at cogier.com Mon Mar 18 17:19:39 2019 From: charlie at cogier.com (Charlie Ogier) Date: Mon, 18 Mar 2019 16:19:39 +0000 Subject: [Gambas-user] Speaking of optimizations In-Reply-To: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> References: <870792830.2844473.1552845686160.JavaMail.zimbra@exede.net> Message-ID: I can't see the point of using .Max when you have already fixed the array size to 100. It's best used when you don't know how big the array will be, for example: - /Public Sub Form_Open()// //Dim sList As String[] = Dir(User.Home)// // //For iFile As Integer = 0 To sList.Max// //? Print sList[iFile]// //Next// // //Print// //Print "Number of files = " & Str(sList.Max)// // //End// / Charlie On 17/03/2019 18:01, Cedron Dawg wrote: > I just found out about the .Max property of arrays, saving having to do a .Count - 1. > > I like it, but the name is a little confusing to me, I thought it would mean MaxValue, not MaxIndex. No I can't think of a better short word. "Top" is misleading, so is "Limit". > > My real question is a performance related one. Given: > > Dim a As New String[100] > Dim i, m As Integer > . > . > m = a.Max > For i = 0 To m > ... > Next > . > . > For i = 0 To a.Max > ... > Next > > Does the first loop give any performance advantage over the second one? Or does the compiler recognize that "a" won't change size in the loop and implement the first form under the covers? > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Mon Mar 18 23:04:23 2019 From: taboege at gmail.com (Tobias Boege) Date: Mon, 18 Mar 2019 23:04:23 +0100 Subject: [Gambas-user] Blocking read from a Process you had to write to Message-ID: <20190318220423.GF27111@highrise.localdomain> Hi, the task is to start a process, write something to its input, then read all its output. This should happen in a blocking fashion, i.e. I want the output of the process to be the return value of my function. The process, after receiving its input will immediately produce its output. Hence I do *not* want to use a Read event, purely because it shouldn't be necessary and requires a sort of busy-waiting in my function until the output has been accumulated. What I normally try first is: Dim sInput As String = "hello" ' might be binary data! Dim aCmd As String[] = ["cat", "-"] Dim hProc As Process, sOut As String hProc = Exec aCmd For Read Write Write #hProc, sInput hProc.CloseInput() hProc.Wait() sOut = Read #hProc, Lof(hProc) Return sOut When the Wait call returns, I've got a Lof() of zero, but apparently hProc.Value is also zero, i.e. success, so where's my output? Independently of that, it might be wise to read output continuously to avoid the pipe buffer filling up, so I try: hProc = Exec aCmd For Read Write Write #hProc, sInput hProc.CloseInput() Wait While (hProc.State = hProc.Running) Or Lof(hProc) sBuf = Read #hProc, -4096 sOut &= sBuf Wait Wend I'm unsure about the Waits here. At least one of them ought to be necessary. This dies with "Stream is closed" at the Lof() call in the While condition after everything has been read. I guess I can see that. But if I Wait a positive amount of time inside the While loop, e.g. "Wait 0.1", it works. How is it done properly? I really just want an "Exec ... To sOut", but with the option to pipe something into the process when it starts. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From taboege at gmail.com Mon Mar 18 23:34:57 2019 From: taboege at gmail.com (Tobias Boege) Date: Mon, 18 Mar 2019 23:34:57 +0100 Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: <20190318220423.GF27111@highrise.localdomain> References: <20190318220423.GF27111@highrise.localdomain> Message-ID: <20190318223457.GG27111@highrise.localdomain> On Mon, 18 Mar 2019, Tobias Boege wrote: > How is it done properly? I really just want an "Exec ... To sOut", but with > the option to pipe something into the process when it starts. > I found this one using a Read event and a global variable. At least it doesn't need explicit Waits with arbitrary delay values: Private $sOut As String Private Sub Run(aCmd As String[], sInput As String) Dim hProc As Process $sOut = "" hProc = Exec aCmd For Read Write As "Process" Write #hProc, sInput hProc.CloseInput() hProc.Wait() Return $sOut End Public Sub Process_Read() Dim sBuf As String sBuf = Read #Last, -4096 $sOut &= sBuf End I'm still curious if you can avoid the Read event. (I suppose if you're really clever you can avoid the global $sBuf by using the Process' Tag instead...) But still: is there a way to read a process imperatively as nicely as the Read event allows you to? Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From jussi.lahtinen at gmail.com Tue Mar 19 00:11:37 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 19 Mar 2019 01:11:37 +0200 Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: <20190318223457.GG27111@highrise.localdomain> References: <20190318220423.GF27111@highrise.localdomain> <20190318223457.GG27111@highrise.localdomain> Message-ID: I doubt this will satisfy you, but shell command has it ready for you. Jussi On Tue, Mar 19, 2019 at 12:35 AM Tobias Boege wrote: > On Mon, 18 Mar 2019, Tobias Boege wrote: > > How is it done properly? I really just want an "Exec ... To sOut", but > with > > the option to pipe something into the process when it starts. > > > > I found this one using a Read event and a global variable. At least > it doesn't need explicit Waits with arbitrary delay values: > > Private $sOut As String > > Private Sub Run(aCmd As String[], sInput As String) > Dim hProc As Process > > $sOut = "" > hProc = Exec aCmd For Read Write As "Process" > Write #hProc, sInput > hProc.CloseInput() > hProc.Wait() > Return $sOut > End > > Public Sub Process_Read() > Dim sBuf As String > > sBuf = Read #Last, -4096 > $sOut &= sBuf > End > > I'm still curious if you can avoid the Read event. (I suppose if you're > really clever you can avoid the global $sBuf by using the Process' Tag > instead...) But still: is there a way to read a process imperatively as > nicely as the Read event allows you to? > > Regards, > Tobi > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Mar 19 00:18:22 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 19 Mar 2019 00:18:22 +0100 Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: <20190318220423.GF27111@highrise.localdomain> References: <20190318220423.GF27111@highrise.localdomain> Message-ID: Le 18/03/2019 ? 23:04, Tobias Boege a ?crit?: > Hi, > > the task is to start a process, write something to its input, then read > all its output. This should happen in a blocking fashion, i.e. I want the > output of the process to be the return value of my function. The process, > after receiving its input will immediately produce its output. Hence I > do *not* want to use a Read event, purely because it shouldn't be necessary > and requires a sort of busy-waiting in my function until the output has > been accumulated. > > What I normally try first is: > > Dim sInput As String = "hello" ' might be binary data! > Dim aCmd As String[] = ["cat", "-"] > Dim hProc As Process, sOut As String > > hProc = Exec aCmd For Read Write > Write #hProc, sInput > hProc.CloseInput() > hProc.Wait() > sOut = Read #hProc, Lof(hProc) > Return sOut > > When the Wait call returns, I've got a Lof() of zero, but apparently > hProc.Value is also zero, i.e. success, so where's my output? Lost. The Process object won't maintain a read buffer for you, unless you use the syntax EXEC ... TO ... This is why you have to use the Read event and a global buffer. But I think you can easily embed that management in a class. Regards, -- Beno?t Minisini From cedron at exede.net Tue Mar 19 13:26:04 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 19 Mar 2019 08:26:04 -0400 (EDT) Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: References: <20190318220423.GF27111@highrise.localdomain> Message-ID: <948129656.4815259.1552998364910.JavaMail.zimbra@exede.net> You might remember a while back I was trying to have a Gambas Program "make" a shared library for development purposes. This is what I have in the Gambas program: Dim theResult As String Exec ["sh", "/m"] 'To theResult Print "I'm back: ***"; theResult; "***" The "m" file looks like this: ---------------------------- cd / make ---------------------------- The "make" file looks like this: ---------------------------- libGambas_NiceTerminal.so: libGambas_NiceTerminal.o gcc -shared -o libGambas_NiceTerminal.so libGambas_NiceTerminal.o libGambas_NiceTerminal.o: libGambas_NiceTerminal.c gcc -c -Wall -Werror -fpic libGambas_NiceTerminal.c ---------------------------- I got what I considered strange behavior. What I want is for theResult to hold all the error messages, so I can test the return value and stop execution. So, I introduced a deliberate error into the code (sacrilege). Running with the "To theResult" in effect, console output looks like this: ---------------------------- I'm back: ***gcc -c -Wall -Werror -fpic ./libGambas_NiceTerminal.c *** ---------------------------- Commenting it out results in: --------------------------- I'm back: ****** gcc -c -Wall -Werror -fpic ./libGambas_NiceTerminal.c ./libGambas_NiceTerminal.c: In function ?NT_Open?: ./libGambas_NiceTerminal.c:20:1: error: ?ggfgd? undeclared (first use in this function) ggfgd ^ ./libGambas_NiceTerminal.c:20:1: note: each undeclared identifier is reported only once for each function it appears in ./libGambas_NiceTerminal.c:23:9: error: expected ?;? before ?return? return "Pretending to open!"; ^ ./libGambas_NiceTerminal.c:24:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors make: *** [libGambas_NiceTerminal.o] Error 1 --------------------------- I expected theResult to hold all that info since it is supposed to capture the standard output. It doesn't seem to. I didn't report it because I'm not sure my usage is correct and I didn't want to spend any more time on it. Instead, for this project, I decided to go pure Gambas. I haven't had a need to revisit this issue so it has been laying fallow, but this seems to be a good time to bring it up. Ced ----- Original Message ----- From: "Beno?t Minisini" Lost. The Process object won't maintain a read buffer for you, unless you use the syntax EXEC ... TO ... This is why you have to use the Read event and a global buffer. But I think you can easily embed that management in a class. Regards, -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Tue Mar 19 13:33:53 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 19 Mar 2019 13:33:53 +0100 Subject: [Gambas-user] Gambas Farm, minor bug In-Reply-To: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> References: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> Message-ID: <87bf1ab6-e706-0aaf-3726-0321d48df730@gmail.com> Le 16/03/2019 ? 17:39, Charlie Ogier a ?crit?: > Hi, > > If a program is published on the Farm using "Keep the screenshot stored > on the server" option, the program is published with no screenshot. > > Thanks, > > Charlie > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > If it's the first time the program is published, it's normal, isn't it? -- Beno?t Minisini From charlie at cogier.com Tue Mar 19 14:01:10 2019 From: charlie at cogier.com (Charlie Ogier) Date: Tue, 19 Mar 2019 13:01:10 +0000 Subject: [Gambas-user] Gambas Farm, minor bug In-Reply-To: <87bf1ab6-e706-0aaf-3726-0321d48df730@gmail.com> References: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> <87bf1ab6-e706-0aaf-3726-0321d48df730@gmail.com> Message-ID: On 19/03/2019 12:33, Beno?t Minisini wrote: > Le 16/03/2019 ? 17:39, Charlie Ogier a ?crit?: >> Hi, >> >> If a program is published on the Farm using "Keep the screenshot >> stored on the server" option, the program is published with no >> screenshot. >> >> Thanks, >> >> Charlie >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > If it's the first time the program is published, it's normal, isn't it? > Unfortunately this happens on the second and subsequent updates. I did test this before reporting the bug. From bagonergi at gmail.com Tue Mar 19 14:39:55 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 19 Mar 2019 14:39:55 +0100 Subject: [Gambas-user] Gambas Farm, minor bug In-Reply-To: References: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> <87bf1ab6-e706-0aaf-3726-0321d48df730@gmail.com> Message-ID: Il giorno mar 19 mar 2019 alle ore 14:23 Charlie Ogier ha scritto: > On 19/03/2019 12:33, Beno?t Minisini wrote: > > Le 16/03/2019 ? 17:39, Charlie Ogier a ?crit : > >> Hi, > >> > >> If a program is published on the Farm using "Keep the screenshot > >> stored on the server" option, the program is published with no > >> screenshot. > >> > >> Thanks, > >> > >> Charlie > >> > >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > >> > > > > If it's the first time the program is published, it's normal, isn't it? > > > Unfortunately this happens on the second and subsequent updates. I did > test this before reporting the bug. > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > I updated ReportTest yesterday and the farm recovered the image correctly. Maybe it has been deleted and you should reinstall it. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Tue Mar 19 15:58:04 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 19 Mar 2019 10:58:04 -0400 (EDT) Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: <948129656.4815259.1552998364910.JavaMail.zimbra@exede.net> References: <20190318220423.GF27111@highrise.localdomain> <948129656.4815259.1552998364910.JavaMail.zimbra@exede.net> Message-ID: <987462392.4979827.1553007484228.JavaMail.zimbra@exede.net> Turns out this is a stderr vs stdout issue. I can solve it by putting this in "m": make 2> make.out Then reading "make.out" Kludgy, but it works. ----- Original Message ----- From: "Cedron Dawg" I got what I considered strange behavior. What I want is for theResult to hold all the error messages, so I can test the return value and stop execution. From jussi.lahtinen at gmail.com Tue Mar 19 19:28:20 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 19 Mar 2019 20:28:20 +0200 Subject: [Gambas-user] Gambas Farm, minor bug In-Reply-To: References: <0226b97e-fbbb-921a-c863-01dc8ecab0da@cogier.com> <87bf1ab6-e706-0aaf-3726-0321d48df730@gmail.com> Message-ID: Did you change the major version number? Maybe that makes the difference? Jussi On Tue, Mar 19, 2019 at 3:23 PM Charlie Ogier wrote: > On 19/03/2019 12:33, Beno?t Minisini wrote: > > Le 16/03/2019 ? 17:39, Charlie Ogier a ?crit : > >> Hi, > >> > >> If a program is published on the Farm using "Keep the screenshot > >> stored on the server" option, the program is published with no > >> screenshot. > >> > >> Thanks, > >> > >> Charlie > >> > >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > >> > > > > If it's the first time the program is published, it's normal, isn't it? > > > Unfortunately this happens on the second and subsequent updates. I did > test this before reporting the bug. > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Mar 19 19:31:13 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 19 Mar 2019 20:31:13 +0200 Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: <987462392.4979827.1553007484228.JavaMail.zimbra@exede.net> References: <20190318220423.GF27111@highrise.localdomain> <948129656.4815259.1552998364910.JavaMail.zimbra@exede.net> <987462392.4979827.1553007484228.JavaMail.zimbra@exede.net> Message-ID: That is expected. Standard out does not include error messages in Linux. Jussi On Tue, Mar 19, 2019 at 4:59 PM Cedron Dawg wrote: > Turns out this is a stderr vs stdout issue. > > I can solve it by putting this in "m": > > make 2> make.out > > Then reading "make.out" > > Kludgy, but it works. > > > ----- Original Message ----- > From: "Cedron Dawg" > > I got what I considered strange behavior. What I want is for theResult to > hold all the error messages, so I can test the return value and stop > execution. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Tue Mar 19 19:36:23 2019 From: cedron at exede.net (Cedron Dawg) Date: Tue, 19 Mar 2019 14:36:23 -0400 (EDT) Subject: [Gambas-user] Blocking read from a Process you had to write to In-Reply-To: References: <20190318220423.GF27111@highrise.localdomain> <948129656.4815259.1552998364910.JavaMail.zimbra@exede.net> <987462392.4979827.1553007484228.JavaMail.zimbra@exede.net> Message-ID: <1424060246.5279509.1553020583499.JavaMail.zimbra@exede.net> It would be nice though for Exec to work like this Exec To sOut, sErr (See, what I did there? ;-) ----- Original Message ----- From: "Jussi Lahtinen" To: "user" Sent: Tuesday, March 19, 2019 2:31:13 PM Subject: Re: [Gambas-user] Blocking read from a Process you had to write to That is expected. Standard out does not include error messages in Linux. Jussi On Tue, Mar 19, 2019 at 4:59 PM Cedron Dawg < [ mailto:cedron at exede.net | cedron at exede.net ] > wrote: Turns out this is a stderr vs stdout issue. I can solve it by putting this in "m": make 2> make.out Then reading "make.out" Kludgy, but it works. From bagonergi at gmail.com Wed Mar 20 18:08:02 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 20 Mar 2019 18:08:02 +0100 Subject: [Gambas-user] Bugtraker 1553 Message-ID: I can't change the state in rejected Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 21 13:22:51 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 21 Mar 2019 13:22:51 +0100 Subject: [Gambas-user] Array Shuffle method. Message-ID: Hi, can this be a correct use of the array Shuffle method? [code] Public Sub Main() Dim aBingo As New Byte[] Dim iPull As Byte For i As Byte = 0 To 89 aBingo.Push(i + 1) Next aBingo.Shuffle() iPull = aBingo[aBingo.Max] Print "Extract "; iPull; "\n" aBingo.Resize(aBingo.Max - 1) '------------------------------- Print "Checking:" aBingo.Sort() For Each i In aBingo Print i Next End [/code] Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Mar 21 16:00:54 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 21 Mar 2019 11:00:54 -0400 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: References: Message-ID: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> On 3/21/19 8:22 AM, Gianluigi wrote: > Hi, > can this be a correct use of the array Shuffle method? > > [code] > Public Sub Main() > > ? Dim aBingo As New Byte[] > ? Dim iPull As Byte > > ? For i As Byte = 0 To 89 > ??? aBingo.Push(i + 1) > ? Next > ? aBingo.Shuffle() > ? iPull = aBingo[aBingo.Max] > ? Print "Extract "; iPull; "\n" > ? aBingo.Resize(aBingo.Max - 1) > ? '------------------------------- > ? Print "Checking:" > ? aBingo.Sort() > ? For Each i In aBingo > ??? Print i > ? Next > > End > [/code] > > Regards > Gianluigi According to the Wiki, Byte[] has a Shuffle method. But, when I try to run your code, I get: "Unknown symbol 'Shuffle' in class 'Byte[]'" Same thing on the Gambas Playground: http://gambas.one/playground/ultra.php Other than that, I think your use of the shuffle method would be a correct use. Although, you should be able to simply use: iPull = aBingo.Extract(aBingo.Max) instead of: iPull = aBingo[aBingo.Max] aBingo.Resize(aBingo.Max - 1) ___ Lee From bagonergi at gmail.com Thu Mar 21 16:21:43 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 21 Mar 2019 16:21:43 +0100 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> Message-ID: Il giorno gio 21 mar 2019 alle ore 16:01 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > On 3/21/19 8:22 AM, Gianluigi wrote: > > Hi, > > can this be a correct use of the array Shuffle method? > > > > [code] > > Public Sub Main() > > > > Dim aBingo As New Byte[] > > Dim iPull As Byte > > > > For i As Byte = 0 To 89 > > aBingo.Push(i + 1) > > Next > > aBingo.Shuffle() > > iPull = aBingo[aBingo.Max] > > Print "Extract "; iPull; "\n" > > aBingo.Resize(aBingo.Max - 1) > > '------------------------------- > > Print "Checking:" > > aBingo.Sort() > > For Each i In aBingo > > Print i > > Next > > > > End > > [/code] > > > > Regards > > Gianluigi > > According to the Wiki, Byte[] has a Shuffle method. But, when I try to run > your code, I get: > "Unknown symbol 'Shuffle' in class 'Byte[]'" Same thing on the Gambas > Playground: http://gambas.one/playground/ultra.php > > Other than that, I think your use of the shuffle method would be a correct > use. Although, you should be able to simply use: > > iPull = aBingo.Extract(aBingo.Max) > > instead of: > > iPull = aBingo[aBingo.Max] > aBingo.Resize(aBingo.Max - 1) > > > ___ > Lee > > Hi Lee, For Shuffle to work, it is necessary to have the last master 2bb7d795 Regarding the code: Extract returns an array not a number. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Mar 21 16:27:42 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 21 Mar 2019 11:27:42 -0400 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> Message-ID: On 3/21/19 11:21 AM, Gianluigi wrote: > For Shuffle to work, it is necessary to have the last master 2bb7d795 Ah, okay, I have 7df526ac5. > Regarding the code: Extract returns an array not a number. Yes, you are right. I totally glossed over the return type. Okay, then: iPull = aBingo.Extract(aBingo.Max)[0] :-) ___ Lee From g4mba5 at gmail.com Thu Mar 21 16:28:05 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 21 Mar 2019 16:28:05 +0100 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> Message-ID: <83556d21-c28e-aa2c-4972-86f34816745d@gmail.com> Le 21/03/2019 ? 16:21, Gianluigi a ?crit?: > > Hi Lee, > For Shuffle to work, it is necessary to have the last master 2bb7d795 > Regarding the code: Extract returns an array not a number. > > Regards > Gianluigi > > Look at the Pop() method. -- Beno?t Minisini From taboege at gmail.com Thu Mar 21 16:29:46 2019 From: taboege at gmail.com (Tobias Boege) Date: Thu, 21 Mar 2019 16:29:46 +0100 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> Message-ID: <20190321152945.GJ27111@highrise.localdomain> On Thu, 21 Mar 2019, T Lee Davidson wrote: > On 3/21/19 8:22 AM, Gianluigi wrote: > > Hi, > > can this be a correct use of the array Shuffle method? > > > > [code] > > Public Sub Main() > > > > ? Dim aBingo As New Byte[] > > ? Dim iPull As Byte > > > > ? For i As Byte = 0 To 89 > > ??? aBingo.Push(i + 1) > > ? Next > > ? aBingo.Shuffle() > > ? iPull = aBingo[aBingo.Max] > > ? Print "Extract "; iPull; "\n" > > ? aBingo.Resize(aBingo.Max - 1) > > ? '------------------------------- > > ? Print "Checking:" > > ? aBingo.Sort() > > ? For Each i In aBingo > > ??? Print i > > ? Next > > > > End > > [/code] > > > > Regards > > Gianluigi > > According to the Wiki, Byte[] has a Shuffle method. But, when I try to run your code, I get: > "Unknown symbol 'Shuffle' in class 'Byte[]'" Same thing on the Gambas Playground: http://gambas.one/playground/ultra.php > It's fairly new (added yesterday around noon GMT). > Other than that, I think your use of the shuffle method would be a correct use. Although, you should be able to simply use: > > iPull = aBingo.Extract(aBingo.Max) > > instead of: > > iPull = aBingo[aBingo.Max] > aBingo.Resize(aBingo.Max - 1) > And .Extract(.Max) is just .Pop() :-) Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Thu Mar 21 16:40:55 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 21 Mar 2019 11:40:55 -0400 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: <83556d21-c28e-aa2c-4972-86f34816745d@gmail.com> References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> <83556d21-c28e-aa2c-4972-86f34816745d@gmail.com> Message-ID: <9411e8d1-4960-5301-98f6-c4643214bc6c@gmail.com> > And .Extract(.Max) is just .Pop() > Look?at?the?Pop()?method. Ah, yes, duh, one of the benefits of being in a hurry and not actually engaging brain cells, is that I get a wonderful opportunity to make myself look silly :$ ___ Lee From bagonergi at gmail.com Thu Mar 21 16:51:32 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 21 Mar 2019 16:51:32 +0100 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: <9411e8d1-4960-5301-98f6-c4643214bc6c@gmail.com> References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> <83556d21-c28e-aa2c-4972-86f34816745d@gmail.com> <9411e8d1-4960-5301-98f6-c4643214bc6c@gmail.com> Message-ID: Il giorno gio 21 mar 2019 alle ore 16:42 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > > And .Extract(.Max) is just .Pop() > > > Look at the Pop() method. > > Ah, yes, duh, one of the benefits of being in a hurry and not actually > engaging brain cells, is that I get a wonderful > opportunity to make myself look silly :$ > > > ___ > Lee > > Lee, do not overdo it does not seem so serious Benoit, Tobias, You are right Pop(), and to think that I always use it in "command pattern" as Jsbsan taught me... memory is the cause of everything. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 21 16:53:15 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 21 Mar 2019 16:53:15 +0100 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> <83556d21-c28e-aa2c-4972-86f34816745d@gmail.com> <9411e8d1-4960-5301-98f6-c4643214bc6c@gmail.com> Message-ID: Il giorno gio 21 mar 2019 alle ore 16:51 Gianluigi ha scritto: > > > Il giorno gio 21 mar 2019 alle ore 16:42 T Lee Davidson < > t.lee.davidson at gmail.com> ha scritto: > >> > And .Extract(.Max) is just .Pop() >> >> > Look at the Pop() method. >> >> Ah, yes, duh, one of the benefits of being in a hurry and not actually >> engaging brain cells, is that I get a wonderful >> opportunity to make myself look silly :$ >> >> >> ___ >> Lee >> >> Lee, > do not overdo it does not seem so serious > > Benoit, Tobias, > You are right Pop(), and to think that I always use it in "command > pattern" as Jsbsan taught me... memory is the cause of everything. > > Regards > Gianluigi > forgot Thank you all :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlie at cogier.com Thu Mar 21 16:47:50 2019 From: charlie at cogier.com (Charlie Ogier) Date: Thu, 21 Mar 2019 15:47:50 +0000 Subject: [Gambas-user] Array Shuffle method. In-Reply-To: <20190321152945.GJ27111@highrise.localdomain> References: <88f3c8c8-934e-61a5-30b6-e7e9dd6ba505@gmail.com> <20190321152945.GJ27111@highrise.localdomain> Message-ID: <66933949-0582-1b1e-1ad1-39fe0bb3996c@cogier.com> Please note the playground uses the 'Stable' version of Gambas This is my experience of Shuffle http://www.cogier.com/gambas/shuffle2.webm Charlie On 21/03/2019 15:29, Tobias Boege wrote: > On Thu, 21 Mar 2019, T Lee Davidson wrote: >> On 3/21/19 8:22 AM, Gianluigi wrote: >>> Hi, >>> can this be a correct use of the array Shuffle method? >>> >>> [code] >>> Public Sub Main() >>> >>> ? Dim aBingo As New Byte[] >>> ? Dim iPull As Byte >>> >>> ? For i As Byte = 0 To 89 >>> ??? aBingo.Push(i + 1) >>> ? Next >>> ? aBingo.Shuffle() >>> ? iPull = aBingo[aBingo.Max] >>> ? Print "Extract "; iPull; "\n" >>> ? aBingo.Resize(aBingo.Max - 1) >>> ? '------------------------------- >>> ? Print "Checking:" >>> ? aBingo.Sort() >>> ? For Each i In aBingo >>> ??? Print i >>> ? Next >>> >>> End >>> [/code] >>> >>> Regards >>> Gianluigi >> According to the Wiki, Byte[] has a Shuffle method. But, when I try to run your code, I get: >> "Unknown symbol 'Shuffle' in class 'Byte[]'" Same thing on the Gambas Playground: http://gambas.one/playground/ultra.php >> > It's fairly new (added yesterday around noon GMT). > >> Other than that, I think your use of the shuffle method would be a correct use. Although, you should be able to simply use: >> >> iPull = aBingo.Extract(aBingo.Max) >> >> instead of: >> >> iPull = aBingo[aBingo.Max] >> aBingo.Resize(aBingo.Max - 1) >> > And .Extract(.Max) is just .Pop() :-) > > Regards, > Tobi > From bagonergi at gmail.com Fri Mar 22 13:13:33 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 13:13:33 +0100 Subject: [Gambas-user] Link StackBlurForCanvas not work. Message-ID: Hi Benoit, this link [0] on the Readme page [1] does not work. Regards Gianluigi [0] http://www.quasimondo.com/StackBlurForCanvas [1] http://gambaswiki.org/wiki/readme -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Mar 22 13:23:19 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 22 Mar 2019 13:23:19 +0100 Subject: [Gambas-user] Link StackBlurForCanvas not work. In-Reply-To: References: Message-ID: <62d39652-9384-c098-1fc4-6478b9a237ad@gmail.com> Le 22/03/2019 ? 13:13, Gianluigi a ?crit?: > Hi Benoit, > this link [0] on the Readme page [1] does not work. > > Regards > Gianluigi > [0] http://www.quasimondo.com/StackBlurForCanvas > [1] http://gambaswiki.org/wiki/readme > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Fixed. -- Beno?t Minisini From bagonergi at gmail.com Fri Mar 22 14:31:04 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 14:31:04 +0100 Subject: [Gambas-user] Link StackBlurForCanvas not work. In-Reply-To: <62d39652-9384-c098-1fc4-6478b9a237ad@gmail.com> References: <62d39652-9384-c098-1fc4-6478b9a237ad@gmail.com> Message-ID: Il giorno ven 22 mar 2019 alle ore 13:25 Beno?t Minisini ha scritto: > Le 22/03/2019 ? 13:13, Gianluigi a ?crit : > > Hi Benoit, > > this link [0] on the Readme page [1] does not work. > > > > Regards > > Gianluigi > > [0] http://www.quasimondo.com/StackBlurForCanvas > > [1] http://gambaswiki.org/wiki/readme > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > Fixed. > > -- > Beno?t Minisini > sorry but I'm confused isn't it enough to change the wiki html page? If I go on the internet I always see the old connections. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Mar 22 14:46:24 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 22 Mar 2019 14:46:24 +0100 Subject: [Gambas-user] Link StackBlurForCanvas not work. In-Reply-To: References: <62d39652-9384-c098-1fc4-6478b9a237ad@gmail.com> Message-ID: <32a9065c-c48e-18c4-fe13-038771e29531@gmail.com> Le 22/03/2019 ? 14:31, Gianluigi a ?crit?: > > > Il giorno ven 22 mar 2019 alle ore 13:25 Beno?t Minisini > > ha scritto: > > Le 22/03/2019 ? 13:13, Gianluigi a ?crit?: > > Hi Benoit, > > this link [0] on the Readme page [1] does not work. > > > > Regards > > Gianluigi > > [0] http://www.quasimondo.com/StackBlurForCanvas > > [1] http://gambaswiki.org/wiki/readme > > > > > > ----[ Gambas mailing-list is hosted by > https://www.hostsharing.net ]---- > > > > Fixed. > > -- > Beno?t Minisini > > > sorry but I'm confused isn't it enough to change the wiki html page? > If I go on the internet I always see the old connections. > > Regards > Gianluigi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Sorry I didn't change the wiki, just the README file in the source code. -- Beno?t Minisini From bagonergi at gmail.com Fri Mar 22 14:57:40 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 14:57:40 +0100 Subject: [Gambas-user] Link StackBlurForCanvas not work. In-Reply-To: <32a9065c-c48e-18c4-fe13-038771e29531@gmail.com> References: <62d39652-9384-c098-1fc4-6478b9a237ad@gmail.com> <32a9065c-c48e-18c4-fe13-038771e29531@gmail.com> Message-ID: Il giorno ven 22 mar 2019 alle ore 14:47 Beno?t Minisini ha scritto: > Le 22/03/2019 ? 14:31, Gianluigi a ?crit : > > > > > > Il giorno ven 22 mar 2019 alle ore 13:25 Beno?t Minisini > > > ha scritto: > > > > Le 22/03/2019 ? 13:13, Gianluigi a ?crit : > > > Hi Benoit, > > > this link [0] on the Readme page [1] does not work. > > > > > > Regards > > > Gianluigi > > > [0] http://www.quasimondo.com/StackBlurForCanvas > > > [1] http://gambaswiki.org/wiki/readme > > > > > > > > > ----[ Gambas mailing-list is hosted by > > https://www.hostsharing.net ]---- > > > > > > > Fixed. > > > > -- > > Beno?t Minisini > > > > > > sorry but I'm confused isn't it enough to change the wiki html page? > > If I go on the internet I always see the old connections. > > > > Regards > > Gianluigi > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > Sorry I didn't change the wiki, just the README file in the source code. > > -- > Beno?t Minisini > > Ok, thanks, I'll do the translation again. The next time, I warn you first, then I do the translation :-) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 22 16:43:03 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 16:43:03 +0100 Subject: [Gambas-user] Access examples Message-ID: The examples in http://gambaswiki.org/wiki/lang/access don't works. Always return False. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 22 17:27:32 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 17:27:32 +0100 Subject: [Gambas-user] Wiki clarification Message-ID: Hi Benoit, a clarification on Wiki please, you always need to repair the apostrophe of e.g. "l'algoritmo" with "l\'algoritmo in our translations? In example 2 of ASin [An(-1)]: I corrected the result in -1.570796326795, it was positive. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlie at cogier.com Fri Mar 22 17:10:40 2019 From: charlie at cogier.com (Charlie Ogier) Date: Fri, 22 Mar 2019 16:10:40 +0000 Subject: [Gambas-user] Access examples In-Reply-To: References: Message-ID: Hi Gianluigi, I have fixed these. Charlie On 22/03/2019 15:43, Gianluigi wrote: > The examples in http://gambaswiki.org/wiki/lang/access don't works. > Always return False. > > Regards > Gianluigi > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Mar 22 19:04:19 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 19:04:19 +0100 Subject: [Gambas-user] Access examples In-Reply-To: References: Message-ID: I'm afraid there is a bug in Access, let's hear what Benoit says. Regards Gianluigi Il giorno ven 22 mar 2019 alle ore 17:32 Charlie Ogier ha scritto: > Hi Gianluigi, > > I have fixed these. > > Charlie > > On 22/03/2019 15:43, Gianluigi wrote: > > The examples in http://gambaswiki.org/wiki/lang/access don't works. > Always return False. > > Regards > Gianluigi > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Mar 22 20:07:00 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 22 Mar 2019 15:07:00 -0400 Subject: [Gambas-user] Access examples In-Reply-To: References: Message-ID: <18c82d39-0934-7ca4-b418-03cf552aaf18@gmail.com> How is it not behaving as you would expect, Gianluigi? And, Charlie, shouldn't the signature of the function be, "Accessible = Access ( Path [ , Mode ] ) as Boolean"? ___ Lee On 3/22/19 2:04 PM, Gianluigi wrote: > I'm afraid there is a bug in Access, let's hear what Benoit says. > > Regards > Gianluigi > > Il giorno ven 22 mar 2019 alle ore 17:32 Charlie Ogier > ha scritto: > > Hi Gianluigi, > > I have fixed these. > > Charlie From bagonergi at gmail.com Fri Mar 22 22:34:13 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 22 Mar 2019 22:34:13 +0100 Subject: [Gambas-user] Access examples In-Reply-To: <18c82d39-0934-7ca4-b418-03cf552aaf18@gmail.com> References: <18c82d39-0934-7ca4-b418-03cf552aaf18@gmail.com> Message-ID: Yes, it confused me this: sPath = "/root/bin". The correct code is: Dim sPath As String = "/bin" Print sPath; " RW "; Access(sPath, gb.Read Or gb.write) Print sPath; " R "; Access(sPath, gb.Read) Print sPath; " W "; Access(sPath, gb.write) Print sPath; " "; Access(sPath) In Condole: /bin RW False /bin R True /bin W False /bin True I'm sorry :-( Regards Gianluigi Il giorno ven 22 mar 2019 alle ore 20:08 T Lee Davidson < t.lee.davidson at gmail.com> ha scritto: > How is it not behaving as you would expect, Gianluigi? > > > And, Charlie, shouldn't the signature of the function be, "Accessible = > Access ( Path [ , Mode ] ) as Boolean"? > > > ___ > Lee > > > On 3/22/19 2:04 PM, Gianluigi wrote: > > I'm afraid there is a bug in Access, let's hear what Benoit says. > > > > Regards > > Gianluigi > > > > Il giorno ven 22 mar 2019 alle ore 17:32 Charlie Ogier < > charlie at cogier.com > ha scritto: > > > > Hi Gianluigi, > > > > I have fixed these. > > > > Charlie > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 23 03:44:39 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 22 Mar 2019 22:44:39 -0400 (EDT) Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel Message-ID: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> I'm wanting to do some image analysis. I'd like to be able to use FileChooser, select a .mov file, open it and be able to step through it frame by frame, holding the image in an image object, so I can display it on the form, and read the pixel values in the code. Can anybody recommend the best way to do this, and perhaps give a pointer to some example code? Thanks, Ced From buster6seven at gmail.com Sat Mar 23 11:45:57 2019 From: buster6seven at gmail.com (Shane) Date: Sat, 23 Mar 2019 21:45:57 +1100 Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> Message-ID: <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> Is this very basic code what your looking for On 23/3/19 1:44 pm, Cedron Dawg wrote: > I'm wanting to do some image analysis. I'd like to be able to use FileChooser, select a .mov file, open it and be able to step through it frame by frame, holding the image in an image object, so I can display it on the form, and read the pixel values in the code. > > Can anybody recommend the best way to do this, and perhaps give a pointer to some example code? > > Thanks, > Ced > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: media-0.0.1.tar.gz Type: application/gzip Size: 12094 bytes Desc: not available URL: From cedron at exede.net Sat Mar 23 13:26:20 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 23 Mar 2019 08:26:20 -0400 (EDT) Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> Message-ID: <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> Hi Shane, Yes, that gives me a very good start. Thank you. BTW, I had a little trouble with your tar.gz. I'm running Linux Mint 17, and got this with the archive manager: tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors I was able to go command line and "gzip -d ", then the resulting tar worked fine with a right-click "decompress here". Thanks again, Ced ----- Original Message ----- From: "Shane" To: "user" Sent: Saturday, March 23, 2019 6:45:57 AM Subject: Re: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel Is this very basic code what your looking for From hans at gambas-buch.de Sat Mar 23 13:39:38 2019 From: hans at gambas-buch.de (Hans Lehmann) Date: Sat, 23 Mar 2019 13:39:38 +0100 Subject: [Gambas-user] Error Management Message-ID: Hello. I looked in the source code of 3.12.2: 0x Error.Clear() and 3x Error.Propagate(). This says a lot about the importance of these two methods. For a chapter on error management in the online Gambas book, I still need a sufficiently good description of what these two methods do. This is especially true for Error.Propagate(). In addition it would be of great advantage for me, if a source code example is attached. With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tiscali.it Sat Mar 23 15:43:21 2019 From: vuott at tiscali.it (vuott at tiscali.it) Date: Sat, 23 Mar 2019 15:43:21 +0100 Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> Message-ID: About "reading .MOV frame by frame" in my opinion you should to use VLC external functions. Il 23.03.2019 13:26 Cedron Dawg ha scritto: > Hi Shane, > > Yes, that gives me a very good start. Thank you. > > BTW, I had a little trouble with your tar.gz. > > I'm running Linux Mint 17, and got this with the archive manager: > > tar: This does not look like a tar archive > tar: Skipping to next header > tar: Exiting with failure status due to previous errors > > I was able to go command line and "gzip -d ", then the resulting tar worked fine with a right-click "decompress here". > > Thanks again, > Ced > > ----- Original Message ----- > From: "Shane" > To: "user" > Sent: Saturday, March 23, 2019 6:45:57 AM > Subject: Re: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel > > Is this very basic code what your looking for > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net [3] ]---- Con OpenStar hai Giga, SMS e i minuti che vuoi da 4,99? al mese, per sempre. Cambi gratis quando e come vuoi e in pi? hai 6 mesi di INFINTY! http://tisca.li/myopen -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Mar 23 17:01:31 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 23 Mar 2019 17:01:31 +0100 Subject: [Gambas-user] Wiki Conv$ Message-ID: The second example of Conv$ http://gambaswiki.org/wiki/lang/conv returns an incomprehensible string. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Mar 23 17:14:44 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 23 Mar 2019 17:14:44 +0100 Subject: [Gambas-user] Wiki Conv$ In-Reply-To: References: Message-ID: <074d0bd6-8aaf-634d-fe9a-20395ebebc04@gmail.com> Le 23/03/2019 ? 17:01, Gianluigi a ?crit?: > The second example of Conv$ http://gambaswiki.org/wiki/lang/conv > returns an incomprehensible string. > > Regards > Gianluigi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Fixed. -- Beno?t Minisini From cedron at exede.net Sat Mar 23 17:22:32 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 23 Mar 2019 12:22:32 -0400 (EDT) Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> Message-ID: <1027794105.10321478.1553358152951.JavaMail.zimbra@exede.net> That would be external to Gambas? While researching this, I got tangled up in ffmpeg vs. libav vs. gstream, etc. till my head spun. One solution was to use the "avconv" program from libav, to split a .MOV into .jpegs. I was hoping that there was a simple pure Gambas solution. I have gotten Shane's example working, with some embellishments (Stop/Play/Pause buttons), but am finding doing a "frame by frame" extraction is not straightforward. I may end up going the Webcam route, and capturing my own frames, rather than using the little hand held device HD device (with sports mode) I have. My goal is to do high precision measurement of billiard ball collisions. ----- Original Message ----- From: vuott at tiscali.it To: "user" Sent: Saturday, March 23, 2019 10:43:21 AM Subject: Re: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel About "reading .MOV frame by frame" in my opinion you should to use VLC external functions. From g4mba5 at gmail.com Sat Mar 23 17:32:53 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 23 Mar 2019 17:32:53 +0100 Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: <1027794105.10321478.1553358152951.JavaMail.zimbra@exede.net> References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> <1027794105.10321478.1553358152951.JavaMail.zimbra@exede.net> Message-ID: <48a1e5f6-36f0-64c7-46e0-a4027418b662@gmail.com> Le 23/03/2019 ? 17:22, Cedron Dawg a ?crit : > That would be external to Gambas? > > While researching this, I got tangled up in ffmpeg vs. libav vs. > gstream, etc. till my head spun. One solution was to use the > "avconv" program from libav, to split a .MOV into .jpegs. > > I was hoping that there was a simple pure Gambas solution. I have > gotten Shane's example working, with some embellishments > (Stop/Play/Pause buttons), but am finding doing a "frame by frame" > extraction is not straightforward. > > I may end up going the Webcam route, and capturing my own frames, > rather than using the little hand held device HD device (with sports > mode) I have. > > My goal is to do high precision measurement of billiard ball > collisions. > This is something that is supported by GStreamer according to the documentation, and that must be added to 'gb.media'. Read https://gstreamer.freedesktop.org/documentation/tutorials/basic/playback-speed.html for the details. -- Beno?t Minisini From cedron at exede.net Sat Mar 23 17:51:16 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 23 Mar 2019 12:51:16 -0400 (EDT) Subject: [Gambas-user] Reading .MOV frame by frame into an Image.Pixel In-Reply-To: <48a1e5f6-36f0-64c7-46e0-a4027418b662@gmail.com> References: <113780827.9707664.1553309079028.JavaMail.zimbra@exede.net> <359aeb8f-8f76-4038-d17d-148ec3e5b7c1@gmail.com> <391457753.10038120.1553343980117.JavaMail.zimbra@exede.net> <1027794105.10321478.1553358152951.JavaMail.zimbra@exede.net> <48a1e5f6-36f0-64c7-46e0-a4027418b662@gmail.com> Message-ID: <1173672313.10334250.1553359876645.JavaMail.zimbra@exede.net> Hi Benoit, Thanks for chiming in and the link with sample code. I'd put a request in, but you don't have an "ultra-low" priority category. I can readily pursue the "avconv" route and deal with the individual frame files. I do appreciate knowing that I am not missing something. My previous encounters with this stuff in C and Python have made me aware of the complexities involved. Ced ----- Original Message ----- From: "Beno?t Minisini" This is something that is supported by GStreamer according to the documentation, and that must be added to 'gb.media'. Read https://gstreamer.freedesktop.org/documentation/tutorials/basic/playback-speed.html for the details. -- Beno?t Minisini ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From g4mba5 at gmail.com Sat Mar 23 17:53:10 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 23 Mar 2019 17:53:10 +0100 Subject: [Gambas-user] Next release of Gambas Message-ID: Hi, Finally I decided that the next release will be 3.13.0, not 3.12.3, because of the new features introduced since 3.12.2. But I won't release it now, as I wanted. I will first check how playback rate, and playback step-by-step can be added to gb.media component. Regards, -- Beno?t Minisini From bagonergi at gmail.com Sat Mar 23 19:33:26 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 23 Mar 2019 19:33:26 +0100 Subject: [Gambas-user] Wiki Apostrophe (') Message-ID: Should we protect him with the backslash or not? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From buster6seven at gmail.com Sun Mar 24 01:18:33 2019 From: buster6seven at gmail.com (Shane) Date: Sun, 24 Mar 2019 11:18:33 +1100 Subject: [Gambas-user] Next release of Gambas In-Reply-To: References: Message-ID: That sounds great Benoit On 24/3/19 3:53 am, Beno?t Minisini wrote: > Hi, > > Finally I decided that the next release will be 3.13.0, not 3.12.3, > because of the new features introduced since 3.12.2. > > But I won't release it now, as I wanted. I will first check how > playback rate, and playback step-by-step can be added to gb.media > component. > > Regards, > From hans at gambas-buch.de Sun Mar 24 13:11:02 2019 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 24 Mar 2019 13:11:02 +0100 Subject: [Gambas-user] Difference between the PRINT and ERROR? Message-ID: Hello. What is the significant difference between the PRINT and ERROR instructions? Yours sincerely Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sun Mar 24 15:13:25 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 24 Mar 2019 10:13:25 -0400 (EDT) Subject: [Gambas-user] Difference between the PRINT and ERROR? In-Reply-To: References: Message-ID: <724912490.11274291.1553436805921.JavaMail.zimbra@exede.net> Hope this helps: From http://gambaswiki.org/wiki/lang/error "Prints expressions to the standard error output, exactly like the PRINT instruction." Having tussled with this recently while calling an external "make", I can tell you the console captures StdOut and StdErr, so at runtime they would appear to be identical. Ced ----- Original Message ----- From: "Hans Lehmann" To: "user" Sent: Sunday, March 24, 2019 8:11:02 AM Subject: [Gambas-user] Difference between the PRINT and ERROR? Hello. What is the significant difference between the PRINT and ERROR instructions? Yours sincerely Hans ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Sun Mar 24 23:54:57 2019 From: taboege at gmail.com (Tobias Boege) Date: Sun, 24 Mar 2019 23:54:57 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? Message-ID: <20190324225457.GA29836@highrise.localdomain> Hi list, I just published the first two issues of what I called the "Gambas Weekly Trawler" [1][2]. It's a weekly (and possibly monthly) format where I digest the things that I read about Gambas over the week, which includes the commit logs, mailinglist and bug tracker. The listing will be annotated (as far as my capability goes) and filtered (according to my judgement). The primary reason I do this is because it's currently somewhat up to luck that the Gambas-Buch is kept up to date with new features being added to Gambas. And when something is discovered to be wrong/missing months later, I'm the one who has to find out what and when and why. Since I read all of the above things anyway, I thought I might as well write a weekly summary of "the important parts" that is more accessible to Hans. And I just publish it on the internet as well. The first post [1] includes pretty much what I said above, as well as a call for participation. Over the coming weeks, I'll automate data retrieval from my main sources as much as I can (which basically amounts to indexing our three mailing list archives), but some things are notoriously hard to notice, like Gianluigi making an effort to translate the wiki to Italian. Did any of *you* notice? The idea is that if you're Gianluigi and you make notable updates to the wiki, you're invited to send me a oneline summary. The Trawler is currently hosted on my personal website. An RSS feed is also available [3]. Christof Thalhofer has (again) generously offered to take over the hosting to Hostsharing. I would very much like to do that, and on that note my question: What happend to the moving away from SF? Code hosting and mailinglist are done, the website isn't. Seeing as gambas.sf.net is only a menu with an iframe to the wiki, that should be even easier, right? If this Trawler project is well-received enough, it would be nice if it could be hosted on a subdomain of gambas-basic.org, after the main web- site was moved. My current setup is sustainable as well [ I do not want to hear people disliking my creme-colored background! ]. Regards, Tobi PS: I won't go further back than week 11 of this year. The reason why I post #11 and #12 at the end of week 12 is because I had to convince my website software for a week to support a weekly blog-alike *nicely*. [1] https://taboege.de/trawler/2019/11/ [2] https://taboege.de/trawler/2019/12/ [3] https://taboege.de/trawler/feed -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From chrisml at deganius.de Mon Mar 25 09:39:45 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 25 Mar 2019 09:39:45 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <20190324225457.GA29836@highrise.localdomain> References: <20190324225457.GA29836@highrise.localdomain> Message-ID: <40e48534-76c1-7f63-f430-cb86e1c63a5d@deganius.de> Am 24.03.19 um 23:54 schrieb Tobias Boege: > The Trawler is currently hosted on my personal website. An RSS feed is > also available [3]. Christof Thalhofer has (again) generously offered to > take over the hosting to Hostsharing. I would very much like to do that, > and on that note my question: Ok, thank you very much for the explanation, for that we need a separate user with webspace on hostsharing.net (I can do that), a name of the subdomain (maybe trawler?) and a record in the dns servers of gandi.net, where gambas-basic.org is currently hosted. So the tasks are: 1) find a name (Tobi, Beno?t, every other) 2) create a record for "name".gambas-basic.org in DNS which points to the IP of lists.gambas-basic.org (Beno?t) 3) create the webspace on Hostsharing with a separated user (I) 4) give write access to Beno?t and Tobi(I) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From t.lee.davidson at gmail.com Tue Mar 26 01:20:47 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 25 Mar 2019 20:20:47 -0400 Subject: [Gambas-user] Error Management In-Reply-To: References: Message-ID: Here is an example use case of Error.Propagate(). I try to, at least loosely, follow the MVC (Model/View/Controller) design principles. The View is my Form and the Controller is the Form code. The Model is the business logic that is usually, for me, contained in multiple Classes/Modules that could call subroutines in other modules handling such services as data access and web interfaces. If an error occurs within the Model business logic, I may want to pop up a Message box for user intervention. But, I do not want the Model to handle what should be done in the View. I want the View, through the Controller, to handle that. An error in the Model will not bubble up through the subroutine stack automatically and, if not handled, would cause the application to panic at the location of the error. Using Error.Propagate() allows me to pass the error condition up through to the Controller so it can present the user with a Message.Error() in the View. If at one point in the subroutine stack I handle the error, then I should use Error.Clear() to prevent a false positive when testing for an error condition further up in the stack. Here is some code that I hope illustrates some of the concepts: [code] ' Gambas module file Public Sub Main() OneSub ' Notice I did not: Try OneSub If Error Then ' Oops. Was the error handled, or not? Print Error.Text Endif End Public Sub OneSub() Try TwoSub If Error Then ' Handle the error. ' The Properties of the Error static class should be cleared here if I am actually handling the error condition. ' Error.Clear Print "There has been an error." Endif End Public Sub TwoSub() Try ThreeSub If Error Then Error.Propagate End Public Sub ThreeSub() Error.Raise("Deeply nested error.") End [/code] ___ Lee On 3/23/19 8:39 AM, Hans Lehmann wrote: > Hello. > > I looked in the source code of 3.12.2: 0x Error.Clear() and 3x Error.Propagate(). This says a lot about the importance of these > two methods. For a chapter on error management in the online Gambas book, I still need a sufficiently good description of what > these two methods do. This is especially true for Error.Propagate(). In addition it would be of great advantage for me, if a > source code example is attached. > > With kind regards > > Hans > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From bagonergi at gmail.com Tue Mar 26 11:23:35 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 26 Mar 2019 11:23:35 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <20190324225457.GA29836@highrise.localdomain> References: <20190324225457.GA29836@highrise.localdomain> Message-ID: Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege ha scritto: > Hi list, > > I just published the first two issues of what I called the "Gambas Weekly > Trawler" [1][2]. It's a weekly (and possibly monthly) format where I digest > the things that I read about Gambas over the week, which includes the > commit > logs, mailinglist and bug tracker. The listing will be annotated (as far > as my capability goes) and filtered (according to my judgement). > > The primary reason I do this is because it's currently somewhat up to luck > that the Gambas-Buch is kept up to date with new features being added to > Gambas. And when something is discovered to be wrong/missing months later, > I'm the one who has to find out what and when and why. Since I read all of > the above things anyway, I thought I might as well write a weekly summary > of "the important parts" that is more accessible to Hans. And I just > publish > it on the internet as well. > > The first post [1] includes pretty much what I said above, as well as a > call > for participation. Over the coming weeks, I'll automate data retrieval from > my main sources as much as I can (which basically amounts to indexing our > three mailing list archives), but some things are notoriously hard to > notice, > like Gianluigi making an effort to translate the wiki to Italian. Did any > of *you* notice? The idea is that if you're Gianluigi and you make notable > updates to the wiki, you're invited to send me a oneline summary. > > The Trawler is currently hosted on my personal website. An RSS feed is > also available [3]. Christof Thalhofer has (again) generously offered to > take over the hosting to Hostsharing. I would very much like to do that, > and on that note my question: > > What happend to the moving away from SF? Code hosting and mailinglist > are done, the website isn't. Seeing as gambas.sf.net is only a menu with > an iframe to the wiki, that should be even easier, right? > > If this Trawler project is well-received enough, it would be nice if it > could be hosted on a subdomain of gambas-basic.org, after the main web- > site was moved. My current setup is sustainable as well [ I do not want > to hear people disliking my creme-colored background! ]. > > Regards, > Tobi > > PS: I won't go further back than week 11 of this year. The reason why > I post #11 and #12 at the end of week 12 is because I had to convince > my website software for a week to support a weekly blog-alike *nicely*. > > [1] https://taboege.de/trawler/2019/11/ > [2] https://taboege.de/trawler/2019/12/ > [3] https://taboege.de/trawler/feed > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Hi Tobias, Three stupid logo ideas Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb-seaman.png Type: image/png Size: 35923 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb-gauss.png Type: image/png Size: 42005 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Trawler-logo-5.png Type: image/png Size: 18380 bytes Desc: not available URL: From genbraga1 at gmail.com Tue Mar 26 11:33:04 2019 From: genbraga1 at gmail.com (gen braga) Date: Tue, 26 Mar 2019 07:33:04 -0300 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <20190324225457.GA29836@highrise.localdomain> References: <20190324225457.GA29836@highrise.localdomain> Message-ID: Great job, Tobi! Em dom, 24 de mar de 2019 19:55, Tobias Boege escreveu: > Hi list, > > I just published the first two issues of what I called the "Gambas Weekly > Trawler" [1][2]. It's a weekly (and possibly monthly) format where I digest > the things that I read about Gambas over the week, which includes the > commit > logs, mailinglist and bug tracker. The listing will be annotated (as far > as my capability goes) and filtered (according to my judgement). > > The primary reason I do this is because it's currently somewhat up to luck > that the Gambas-Buch is kept up to date with new features being added to > Gambas. And when something is discovered to be wrong/missing months later, > I'm the one who has to find out what and when and why. Since I read all of > the above things anyway, I thought I might as well write a weekly summary > of "the important parts" that is more accessible to Hans. And I just > publish > it on the internet as well. > > The first post [1] includes pretty much what I said above, as well as a > call > for participation. Over the coming weeks, I'll automate data retrieval from > my main sources as much as I can (which basically amounts to indexing our > three mailing list archives), but some things are notoriously hard to > notice, > like Gianluigi making an effort to translate the wiki to Italian. Did any > of *you* notice? The idea is that if you're Gianluigi and you make notable > updates to the wiki, you're invited to send me a oneline summary. > > The Trawler is currently hosted on my personal website. An RSS feed is > also available [3]. Christof Thalhofer has (again) generously offered to > take over the hosting to Hostsharing. I would very much like to do that, > and on that note my question: > > What happend to the moving away from SF? Code hosting and mailinglist > are done, the website isn't. Seeing as gambas.sf.net is only a menu with > an iframe to the wiki, that should be even easier, right? > > If this Trawler project is well-received enough, it would be nice if it > could be hosted on a subdomain of gambas-basic.org, after the main web- > site was moved. My current setup is sustainable as well [ I do not want > to hear people disliking my creme-colored background! ]. > > Regards, > Tobi > > PS: I won't go further back than week 11 of this year. The reason why > I post #11 and #12 at the end of week 12 is because I had to convince > my website software for a week to support a weekly blog-alike *nicely*. > > [1] https://taboege.de/trawler/2019/11/ > [2] https://taboege.de/trawler/2019/12/ > [3] https://taboege.de/trawler/feed > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Mar 26 13:24:06 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 26 Mar 2019 13:24:06 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <20190324225457.GA29836@highrise.localdomain> References: <20190324225457.GA29836@highrise.localdomain> Message-ID: Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege ha scritto: > Hi list, > ... > I challenge anyone to say that I am not a great artist :-P Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb.trawler.png Type: image/png Size: 21620 bytes Desc: not available URL: From adamnt42 at gmail.com Tue Mar 26 13:42:59 2019 From: adamnt42 at gmail.com (Bruce) Date: Tue, 26 Mar 2019 23:12:59 +1030 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> Message-ID: OK. You are not a great artist. :-) But I do like your logo. B On 26/3/19 10:54 pm, Gianluigi wrote: > > > Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege > ha scritto: > > Hi list, > ... > > > I challenge anyone to say that I am not a great artist :-P > > Regards > Gianluigi > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From bagonergi at gmail.com Tue Mar 26 13:56:10 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 26 Mar 2019 13:56:10 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> Message-ID: LOL Thank you Gianluigi Il giorno mar 26 mar 2019 alle ore 13:44 Bruce ha scritto: > OK. You are not a great artist. :-) > But I do like your logo. > B > > On 26/3/19 10:54 pm, Gianluigi wrote: > > > > > > Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege > > ha scritto: > > > > Hi list, > > ... > > > > > > I challenge anyone to say that I am not a great artist :-P > > > > Regards > > Gianluigi > > > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Tue Mar 26 17:06:02 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 26 Mar 2019 17:06:02 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> Message-ID: You want to catch the shrimp ? Le mar. 26 mars 2019 13:57, Gianluigi a ?crit : > LOL > Thank you > > Gianluigi > > > Il giorno mar 26 mar 2019 alle ore 13:44 Bruce ha > scritto: > >> OK. You are not a great artist. :-) >> But I do like your logo. >> B >> >> On 26/3/19 10:54 pm, Gianluigi wrote: >> > >> > >> > Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege < >> taboege at gmail.com >> > > ha scritto: >> > >> > Hi list, >> > ... >> > >> > >> > I challenge anyone to say that I am not a great artist :-P >> > >> > Regards >> > Gianluigi >> > >> > >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >> ]---- >> > >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Mar 26 17:08:28 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 26 Mar 2019 17:08:28 +0100 Subject: [Gambas-user] Gambas book Message-ID: Hi Hans, what do you think of this logo? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb-book.png Type: image/png Size: 9839 bytes Desc: not available URL: From bagonergi at gmail.com Tue Mar 26 17:11:23 2019 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 26 Mar 2019 17:11:23 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> Message-ID: I want to capture their knowledge :-) Regards Gianluigi Il giorno mar 26 mar 2019 alle ore 17:07 Fabien Bodard ha scritto: > You want to catch the shrimp ? > > Le mar. 26 mars 2019 13:57, Gianluigi a ?crit : > >> LOL >> Thank you >> >> Gianluigi >> >> >> Il giorno mar 26 mar 2019 alle ore 13:44 Bruce ha >> scritto: >> >>> OK. You are not a great artist. :-) >>> But I do like your logo. >>> B >>> >>> On 26/3/19 10:54 pm, Gianluigi wrote: >>> > >>> > >>> > Il giorno dom 24 mar 2019 alle ore 23:55 Tobias Boege < >>> taboege at gmail.com >>> > > ha scritto: >>> > >>> > Hi list, >>> > ... >>> > >>> > >>> > I challenge anyone to say that I am not a great artist :-P >>> > >>> > Regards >>> > Gianluigi >>> > >>> > >>> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >>> ]---- >>> > >>> >>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >>> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Tue Mar 26 22:41:35 2019 From: taboege at gmail.com (Tobias Boege) Date: Tue, 26 Mar 2019 22:41:35 +0100 Subject: [Gambas-user] Error Management In-Reply-To: References: Message-ID: <20190326214135.GA18381@highrise.localdomain> On Mon, 25 Mar 2019, T Lee Davidson wrote: > Here is an example use case of Error.Propagate(). > > I try to, at least loosely, follow the MVC (Model/View/Controller) design > principles. The View is my Form and the Controller is the Form code. The > Model is the business logic that is usually, for me, contained in multiple > Classes/Modules that could call subroutines in other modules handling such > services as data access and web interfaces. > > If an error occurs within the Model business logic, I may want to pop up a > Message box for user intervention. But, I do not want the Model to handle > what should be done in the View. I want the View, through the Controller, to > handle that. > > An error in the Model will not bubble up through the subroutine stack > automatically and, if not handled, would cause the application to panic at > the location of the error. Using Error.Propagate() allows me to pass the > error condition up through to the Controller so it can present the user with > a Message.Error() in the View. > Very good, or at least it plays into my hands :-) That's exactly the layering of responsibilities that I've been propagating to Hans in our recent discussions of error management, I just didn't think about it as MVC. One thing I have to object to is the half-sentence > An error in the Model will not bubble up through the subroutine stack > automatically [...] because it will. When an error is raised, Gambas stops execution of the current frame and looks for error handlers -- Try, Catch or Finally. If it can't find them, it walks up the call stack and successively looks for error handlers there, until it reaches the global level where you can have a Static Public Sub Application_Error() in the startup class. If the error wasn't handled, the interpreter prints it and exits. This is what you do in your example: you handle the immediate error from ThreeSub in TwoSub -- that makes Gambas happy, it stops the stack unwinding. You raise a new error then with Error.Propagate, making Gambas unhappy, which is caught again one level up. To observe the automatic stack unwinding, look at this: Public Sub Main() f() End Public Sub f() Try g() If Error Then Print Error.Backtrace.Join("\n") End Public Sub g() h(3) Print "error from h will jump over this" Finally Print "passing through g" Error.Propagate() ' Finally handles an error, apparently End Public Sub h(x As Integer) Print 1 / x h(x - 1) Print "execution of h stops before we're here!" End > 0.333333333333333 > 0.5 > 1 > passing through g > Main.h.22 > Main.h.23 > Main.h.23 > Main.h.23 > Main.g.13 > Main.f.8 > Main.Main.4 > If at one point in the subroutine stack I handle the error, then I should > use Error.Clear() to prevent a false positive when testing for an error > condition further up in the stack. > That's a very good point that I wasn't aware of. You could say that Try-, Catch- of Finally-ing an error puts the interpreter out of emergency mode, it will stop unwinding the stack and continue normal execution. But if you have multiple "If Error Then"s on your code paths, you *have* to Error.Clear() after you handle an error, to not handle it again. Valuable information for the chapter! Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From taboege at gmail.com Tue Mar 26 23:11:23 2019 From: taboege at gmail.com (Tobias Boege) Date: Tue, 26 Mar 2019 23:11:23 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> Message-ID: <20190326221123.GB524@highrise.localdomain> On Tue, 26 Mar 2019, Gianluigi wrote: > Hi Tobias, > Three stupid logo ideas > Thank you for these. Even though I like the trawler with the net better, it may have too many details to work as a favicon, say, so I'd pick one of the modified Gambas logos which work nicely in that regard. BTW, why is one of them called "gauss"? I can't find fisherman hatwear under that and it's not the hat that C.F. Gau? wears on the famous portrait, is it? If I may provide some more inspiration (not to you specifically), in my head I was imagining an ordinary, comic-y kind of boat in white and blue, with an orange railing perhaps, and an oversized Gambas logo as a figure- head or possibly making up the entire bow of the boat. (I've had success, if you can call it that, before adapting and combining things from the OpenClipArt library [1], but that's the extent of my talent.) Regards Tobi [1] https://openclipart.org/ -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From t.lee.davidson at gmail.com Tue Mar 26 23:44:33 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 26 Mar 2019 18:44:33 -0400 Subject: [Gambas-user] Error Management In-Reply-To: <20190326214135.GA18381@highrise.localdomain> References: <20190326214135.GA18381@highrise.localdomain> Message-ID: On 3/26/19 5:41 PM, Tobias Boege wrote: > One thing I have to object to is the half-sentence > >> An error in the Model will not bubble up through the subroutine stack >> automatically [...] > because it will. When an error is raised, Gambas stops execution of the > current frame and looks for error handlers -- Try, Catch or Finally. > If it can't find them, it walks up the call stack and successively looks > for error handlers there, until it reaches the global level where you > can have a Static Public Sub Application_Error() in the startup class. > If the error wasn't handled, the interpreter prints it and exits. You are right, Tobi, again. :-) My bad. I think I got confused on that due to the IDE kindly showing me where the uncaught error occurred. Thank you for that important correction. ___ Lee From bagonergi at gmail.com Wed Mar 27 09:45:18 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 27 Mar 2019 09:45:18 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <20190326221123.GB524@highrise.localdomain> References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Il giorno mar 26 mar 2019 alle ore 23:12 Tobias Boege ha scritto: > On Tue, 26 Mar 2019, Gianluigi wrote: > > Hi Tobias, > > Three stupid logo ideas > > > > Thank you for these. Even though I like the trawler with the net better, > it may have too many details to work as a favicon, say, so I'd pick one > of the modified Gambas logos which work nicely in that regard. BTW, why > is one of them called "gauss"? I can't find fisherman hatwear under that > and it's not the hat that C.F. Gau? wears on the famous portrait, is it? > > If I may provide some more inspiration (not to you specifically), in my > head I was imagining an ordinary, comic-y kind of boat in white and blue, > with an orange railing perhaps, and an oversized Gambas logo as a figure- > head or possibly making up the entire bow of the boat. (I've had success, > if you can call it that, before adapting and combining things from the > OpenClipArt library [1], but that's the extent of my talent.) > > Regards > Tobi > > [1] https://openclipart.org/ > > -- > "There's an old saying: Don't change anything... ever!" -- Mr. Monk > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Hi Tobias, I have in mind another design (which is not what you suggested), as soon as I finish it I send to you. As for the hat of C.F. Gau?, it's not my fault if he doesn't buy on Amazon. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Wed Mar 27 22:22:27 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 27 Mar 2019 22:22:27 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Another One ;-) Le mer. 27 mars 2019 ? 09:46, Gianluigi a ?crit : > > > > Il giorno mar 26 mar 2019 alle ore 23:12 Tobias Boege ha scritto: >> >> On Tue, 26 Mar 2019, Gianluigi wrote: >> > Hi Tobias, >> > Three stupid logo ideas >> > >> >> Thank you for these. Even though I like the trawler with the net better, >> it may have too many details to work as a favicon, say, so I'd pick one >> of the modified Gambas logos which work nicely in that regard. BTW, why >> is one of them called "gauss"? I can't find fisherman hatwear under that >> and it's not the hat that C.F. Gau? wears on the famous portrait, is it? >> >> If I may provide some more inspiration (not to you specifically), in my >> head I was imagining an ordinary, comic-y kind of boat in white and blue, >> with an orange railing perhaps, and an oversized Gambas logo as a figure- >> head or possibly making up the entire bow of the boat. (I've had success, >> if you can call it that, before adapting and combining things from the >> OpenClipArt library [1], but that's the extent of my talent.) >> >> Regards >> Tobi >> >> [1] https://openclipart.org/ >> >> -- >> "There's an old saying: Don't change anything... ever!" -- Mr. Monk >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > Hi Tobias, > I have in mind another design (which is not what you suggested), as soon as I finish it I send to you. > As for the hat of C.F. Gau?, it's not my fault if he doesn't buy on Amazon. > > Regards > Gianluigi > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -- Fabien Bodard -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler.svg Type: image/svg+xml Size: 35699 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler.svg Type: image/svg+xml Size: 35699 bytes Desc: not available URL: From bagonergi at gmail.com Wed Mar 27 22:46:55 2019 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 27 Mar 2019 22:46:55 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Hi Fabien, beautiful, I would like to know how to use Inkscape as well as you and have your talent. I withdraw from the competition due to manifest inferiority, sigh. :-) Regards Gianluigi Il giorno mer 27 mar 2019 alle ore 22:23 Fabien Bodard ha scritto: > Another One ;-) > > Le mer. 27 mars 2019 ? 09:46, Gianluigi a ?crit : > > > > > > > > Il giorno mar 26 mar 2019 alle ore 23:12 Tobias Boege > ha scritto: > >> > >> On Tue, 26 Mar 2019, Gianluigi wrote: > >> > Hi Tobias, > >> > Three stupid logo ideas > >> > > >> > >> Thank you for these. Even though I like the trawler with the net better, > >> it may have too many details to work as a favicon, say, so I'd pick one > >> of the modified Gambas logos which work nicely in that regard. BTW, why > >> is one of them called "gauss"? I can't find fisherman hatwear under that > >> and it's not the hat that C.F. Gau? wears on the famous portrait, is it? > >> > >> If I may provide some more inspiration (not to you specifically), in my > >> head I was imagining an ordinary, comic-y kind of boat in white and > blue, > >> with an orange railing perhaps, and an oversized Gambas logo as a > figure- > >> head or possibly making up the entire bow of the boat. (I've had > success, > >> if you can call it that, before adapting and combining things from the > >> OpenClipArt library [1], but that's the extent of my talent.) > >> > >> Regards > >> Tobi > >> > >> [1] https://openclipart.org/ > >> > >> -- > >> "There's an old saying: Don't change anything... ever!" -- Mr. Monk > >> > >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net > ]---- > > > > > > Hi Tobias, > > I have in mind another design (which is not what you suggested), as soon > as I finish it I send to you. > > As for the hat of C.F. Gau?, it's not my fault if he doesn't buy on > Amazon. > > > > Regards > > Gianluigi > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Wed Mar 27 23:32:11 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 27 Mar 2019 23:32:11 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Learning is time ... please send us your job, I d'love to see you ideas ... Technic is not all. A I really like this from you : -------------- next part -------------- A non-text attachment was scrubbed... Name: Trawler-logo-5.png Type: image/png Size: 18380 bytes Desc: not available URL: From chrisml at deganius.de Wed Mar 27 23:39:43 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 27 Mar 2019 23:39:43 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: <42ebce7b-79f4-b618-0017-a717ba33100a@deganius.de> Am 27.03.19 um 22:46 schrieb Gianluigi: > Hi Fabien, > beautiful, I would like to know how to use Inkscape as well as you and > have your talent. > I withdraw from the competition due to manifest inferiority, sigh. > :-) You have my respect, Gianluigi, and you also, Fabien! :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From bagonergi at gmail.com Thu Mar 28 10:03:36 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 10:03:36 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <42ebce7b-79f4-b618-0017-a717ba33100a@deganius.de> References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> <42ebce7b-79f4-b618-0017-a717ba33100a@deganius.de> Message-ID: Il giorno mer 27 mar 2019 alle ore 23:40 Christof Thalhofer < chrisml at deganius.de> ha scritto: > Am 27.03.19 um 22:46 schrieb Gianluigi: > > > Hi Fabien, > > beautiful, I would like to know how to use Inkscape as well as you and > > have your talent. > > I withdraw from the competition due to manifest inferiority, sigh. > > :-) > > You have my respect, Gianluigi, and you also, Fabien! > > :-) > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Hi Christof, thanks, around Benoit a group of people has been formed that I really admire. I am honored to have met you. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 28 10:04:54 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 10:04:54 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Il giorno mer 27 mar 2019 alle ore 23:33 Fabien Bodard ha scritto: > Learning is time ... please send us your job, I d'love to see you > ideas ... Technic is not all. > > A I really like this from you : > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > Hi Fabien, you are very kindle :-) Attached file svg Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Trawler-logo-5.svg Type: image/svg+xml Size: 18734 bytes Desc: not available URL: From bagonergi at gmail.com Thu Mar 28 13:59:08 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 13:59:08 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Hi Tobias, since your fishing boat has a big smiling leak, I believe that this can help you anyway. ;-D Regards Gianluigi P.S. By now I had almost finished it... -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: life-buoy.svg Type: image/svg+xml Size: 82542 bytes Desc: not available URL: From gambas.fr at gmail.com Thu Mar 28 14:17:46 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 28 Mar 2019 14:17:46 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: ? True ... smiling can be dangerous Le jeu. 28 mars 2019 ? 14:00, Gianluigi a ?crit : > Hi Tobias, > since your fishing boat has a big smiling leak, I believe that this can > help you anyway. > ;-D > Regards > Gianluigi > > P.S. By now I had almost finished it... > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Mar 28 15:12:44 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 28 Mar 2019 15:12:44 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Fusion Fusion Fusion .... tada :-D Le jeu. 28 mars 2019 ? 14:17, Fabien Bodard a ?crit : > ? True ... smiling can be dangerous > > > Le jeu. 28 mars 2019 ? 14:00, Gianluigi a ?crit : > >> Hi Tobias, >> since your fishing boat has a big smiling leak, I believe that this can >> help you anyway. >> ;-D >> Regards >> Gianluigi >> >> P.S. By now I had almost finished it... >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-little-boy-fusion.svg Type: image/svg+xml Size: 169134 bytes Desc: not available URL: From bagonergi at gmail.com Thu Mar 28 15:38:40 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 15:38:40 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard ha scritto: > Fusion Fusion Fusion .... tada :-D > > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > I hope you see the svg now. Regarding the correct flow of the writing, what do you think? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 28 15:51:39 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 15:51:39 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Hi Fabien, sorry I didn't understand, I didn't see the attachment, I thought it was a suggestion. The idea is nice, but I always prefer your original boat (very nice). However, Tobias will decide ... Regards Gianluigi Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard ha scritto: > Fusion Fusion Fusion .... tada :-D > > Le jeu. 28 mars 2019 ? 14:17, Fabien Bodard a > ?crit : > >> ? True ... smiling can be dangerous >> >> >> Le jeu. 28 mars 2019 ? 14:00, Gianluigi a ?crit : >> >>> Hi Tobias, >>> since your fishing boat has a big smiling leak, I believe that this can >>> help you anyway. >>> ;-D >>> Regards >>> Gianluigi >>> >>> P.S. By now I had almost finished it... >>> >>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >>> >> >> >> -- >> Fabien Bodard >> > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 28 16:47:52 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 16:47:52 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: You know that when I look at it, I really like it... :-) Regards Gianluigi Il giorno gio 28 mar 2019 alle ore 15:51 Gianluigi ha scritto: > Hi Fabien, > sorry I didn't understand, I didn't see the attachment, I thought it was a > suggestion. > The idea is nice, but I always prefer your original boat (very nice). > However, Tobias will decide ... > > Regards > Gianluigi > > Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard < > gambas.fr at gmail.com> ha scritto: > >> Fusion Fusion Fusion .... tada :-D >> >> Le jeu. 28 mars 2019 ? 14:17, Fabien Bodard a >> ?crit : >> >>> ? True ... smiling can be dangerous >>> >>> >>> Le jeu. 28 mars 2019 ? 14:00, Gianluigi a ?crit : >>> >>>> Hi Tobias, >>>> since your fishing boat has a big smiling leak, I believe that this can >>>> help you anyway. >>>> ;-D >>>> Regards >>>> Gianluigi >>>> >>>> P.S. By now I had almost finished it... >>>> >>>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >>>> ]---- >>>> >>> >>> >>> -- >>> Fabien Bodard >>> >> >> >> -- >> Fabien Bodard >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Mar 28 17:16:07 2019 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 28 Mar 2019 17:16:07 +0100 Subject: [Gambas-user] Gambas Book icon Message-ID: Hi Hans, I don't know if you received the last png created on your corrections. I also send you the svg file. Regards Gianluigi P.S. They are your property, do whatever you want -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb-book-4.png Type: image/png Size: 12814 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb-book.svg Type: image/svg+xml Size: 8365 bytes Desc: not available URL: From gambas.fr at gmail.com Fri Mar 29 09:00:03 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 29 Mar 2019 09:00:03 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Most polished logo I've trying to have all gambas logo colors ... The boat is a more darker color than the gambas logo but with the same Saturation and T. And the wave in more lighter. The orange is the same as the logo. Ready to take the sea Le jeu. 28 mars 2019 ? 16:49, Gianluigi a ?crit : > You know that when I look at it, I really like it... :-) > > Regards > Gianluigi > > Il giorno gio 28 mar 2019 alle ore 15:51 Gianluigi > ha scritto: > >> Hi Fabien, >> sorry I didn't understand, I didn't see the attachment, I thought it was >> a suggestion. >> The idea is nice, but I always prefer your original boat (very nice). >> However, Tobias will decide ... >> >> Regards >> Gianluigi >> >> Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard < >> gambas.fr at gmail.com> ha scritto: >> >>> Fusion Fusion Fusion .... tada :-D >>> >>> Le jeu. 28 mars 2019 ? 14:17, Fabien Bodard a >>> ?crit : >>> >>>> ? True ... smiling can be dangerous >>>> >>>> >>>> Le jeu. 28 mars 2019 ? 14:00, Gianluigi a ?crit : >>>> >>>>> Hi Tobias, >>>>> since your fishing boat has a big smiling leak, I believe that this >>>>> can help you anyway. >>>>> ;-D >>>>> Regards >>>>> Gianluigi >>>>> >>>>> P.S. By now I had almost finished it... >>>>> >>>>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net >>>>> ]---- >>>>> >>>> >>>> >>>> -- >>>> Fabien Bodard >>>> >>> >>> >>> -- >>> Fabien Bodard >>> >>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >>> >> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler.svg.png Type: image/png Size: 88329 bytes Desc: not available URL: From chrisml at deganius.de Fri Mar 29 09:25:31 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 29 Mar 2019 09:25:31 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: <0d23a87f-1200-5e93-fd04-c7917cd315be@deganius.de> Hello Fabien, Am 29.03.19 um 09:00 schrieb Fabien Bodard: > Most polished logo > > I've trying to have all gambas logo colors ... > > The boat is a more darker color than the gambas logo but with the same > Saturation and T. > And the wave in more lighter. > The orange is the same as the logo. > > Ready to take the sea :-) I like the logo the best, but I find that the details are very thin, so it's hard to make it smaller. Maybe you can reduce the details a bit? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From gambas.fr at gmail.com Fri Mar 29 09:47:42 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 29 Mar 2019 09:47:42 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: <0d23a87f-1200-5e93-fd04-c7917cd315be@deganius.de> References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> <0d23a87f-1200-5e93-fd04-c7917cd315be@deganius.de> Message-ID: Yes I'll make a small version Le ven. 29 mars 2019 ? 09:26, Christof Thalhofer a ?crit : > Hello Fabien, > > Am 29.03.19 um 09:00 schrieb Fabien Bodard: > > > Most polished logo > > > > I've trying to have all gambas logo colors ... > > > > The boat is a more darker color than the gambas logo but with the same > > Saturation and T. > > And the wave in more lighter. > > The orange is the same as the logo. > > > > Ready to take the sea > > :-) > > I like the logo the best, but I find that the details are very thin, so > it's hard to make it smaller. Maybe you can reduce the details a bit? > > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Mar 29 10:13:36 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 29 Mar 2019 10:13:36 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> <0d23a87f-1200-5e93-fd04-c7917cd315be@deganius.de> Message-ID: The -small one for icons from 64 to 32 The second for icons from 24 to 16 Le ven. 29 mars 2019 ? 09:47, Fabien Bodard a ?crit : > Yes I'll make a small version > > Le ven. 29 mars 2019 ? 09:26, Christof Thalhofer a > ?crit : > >> Hello Fabien, >> >> Am 29.03.19 um 09:00 schrieb Fabien Bodard: >> >> > Most polished logo >> > >> > I've trying to have all gambas logo colors ... >> > >> > The boat is a more darker color than the gambas logo but with the same >> > Saturation and T. >> > And the wave in more lighter. >> > The orange is the same as the logo. >> > >> > Ready to take the sea >> >> :-) >> >> I like the logo the best, but I find that the details are very thin, so >> it's hard to make it smaller. Maybe you can reduce the details a bit? >> >> >> Alles Gute >> >> Christof Thalhofer >> >> -- >> Dies ist keine Signatur >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-16.png Type: image/png Size: 650 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-small-16.svg Type: image/svg+xml Size: 5029 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler.svg Type: image/svg+xml Size: 20820 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-256.png Type: image/png Size: 20891 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-small.svg Type: image/svg+xml Size: 18064 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-24.png Type: image/png Size: 940 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-32.png Type: image/png Size: 1709 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-64.png Type: image/png Size: 4083 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-trawler-128.png Type: image/png Size: 9561 bytes Desc: not available URL: From bagonergi at gmail.com Fri Mar 29 13:38:56 2019 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 29 Mar 2019 13:38:56 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Hi Fabien, fusion two? ;-D Regards Gianluigi Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard ha scritto: > Fusion Fusion Fusion .... tada :-D > > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fusion-2.svg Type: image/svg+xml Size: 170489 bytes Desc: not available URL: From gambas.fr at gmail.com Fri Mar 29 15:13:46 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 29 Mar 2019 15:13:46 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Le ven. 29 mars 2019 ? 13:40, Gianluigi a ?crit : > > Hi Fabien, > fusion two? > OH yeah !!!... Great ! > ;-D > Regards > Gianluigi > > Il giorno gio 28 mar 2019 alle ore 15:14 Fabien Bodard < > gambas.fr at gmail.com> ha scritto: > >> Fusion Fusion Fusion .... tada :-D >> >> Fabien Bodard >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Mar 29 23:25:10 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 29 Mar 2019 18:25:10 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream Message-ID: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> I'm using ServerSocket to listen for connections on localhost:8080. When I make a request to that URI with my browser, it just hangs, "Waiting for localhost..." In the ServerSocket.Connection event, I accept the connection which creates a Socket object to manage that connection. The issue seems to be that the accepted socket stream never becomes ready for writing unless I actually try to write to it. If I then write to the stream in the Socket.Write event (because that's when it is supposed to be ready for writing), I get a nearly endless loop that doesn't give up until around 23000 iterations. [code] ' Gambas module file Private hServerSocket As ServerSocket Private MyConn As Socket Private crlf As String = Chr(13) & Chr(10) Private sResponse As String = "HTTP/1.1 200 OK" & crlf & crlf & "Hello world!" Private Count As Integer Public Sub Main() hServerSocket = New ServerSocket As "MySock" hServerSocket.Type = Net.Internet hServerSocket.Port = 8080 hServerSocket.Listen End Public Sub MySock_Connection(RemoteHostIP As String) MyConn = hServerSocket.Accept() End Public Sub Socket_Ready() Print "Socket READY." End Public Sub Socket_Read() For Each sLine As String In MyConn.Lines Print sLine Next ' Print "Writing to stream." ' Write #MyConn, sResponse, Len(sResponse) 'Socket not ready for writing until here. End Public Sub Socket_Write() Print "Socket ready for writing." ' Inc Count ' Print Count ' Write #MyConn, sResponse, Len(sResponse) 'Nearly endless loop created here. End [/code] What am I doing wrong? ___ Lee From cedron at exede.net Sat Mar 30 00:27:51 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 19:27:51 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> Message-ID: <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> Besides being single socket.... I don't think you are implementing the HTTP protocol, or I don't see it. I don't remember it that well either, sorry. To get you started: https://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html I'm pretty sure the browser is waiting for you to send it a greeting as soon as you recieve the connection. You might want to try using Telnet for a client instead. Some of the first code I wrote when finding Gambas was a simple Server and Client based on the examples. I'll attach those upon request. Ced ----- Original Message ----- From: "T Lee Davidson" To: "user" Sent: Friday, March 29, 2019 6:25:10 PM Subject: [Gambas-user] Trouble writing to Accepted Socket stream I'm using ServerSocket to listen for connections on localhost:8080. When I make a request to that URI with my browser, it just hangs, "Waiting for localhost..." In the ServerSocket.Connection event, I accept the connection which creates a Socket object to manage that connection. The issue seems to be that the accepted socket stream never becomes ready for writing unless I actually try to write to it. If I then write to the stream in the Socket.Write event (because that's when it is supposed to be ready for writing), I get a nearly endless loop that doesn't give up until around 23000 iterations. [code] ' Gambas module file Private hServerSocket As ServerSocket Private MyConn As Socket Private crlf As String = Chr(13) & Chr(10) Private sResponse As String = "HTTP/1.1 200 OK" & crlf & crlf & "Hello world!" Private Count As Integer Public Sub Main() hServerSocket = New ServerSocket As "MySock" hServerSocket.Type = Net.Internet hServerSocket.Port = 8080 hServerSocket.Listen End Public Sub MySock_Connection(RemoteHostIP As String) MyConn = hServerSocket.Accept() End Public Sub Socket_Ready() Print "Socket READY." End Public Sub Socket_Read() For Each sLine As String In MyConn.Lines Print sLine Next ' Print "Writing to stream." ' Write #MyConn, sResponse, Len(sResponse) 'Socket not ready for writing until here. End Public Sub Socket_Write() Print "Socket ready for writing." ' Inc Count ' Print Count ' Write #MyConn, sResponse, Len(sResponse) 'Nearly endless loop created here. End [/code] What am I doing wrong? ___ Lee ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From cedron at exede.net Sat Mar 30 00:59:38 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 19:59:38 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> Message-ID: <1078585303.18136422.1553903978113.JavaMail.zimbra@exede.net> Here's a better source: https://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html I fired up my TcpSimpleServer, listened on 3450. Typed "localhost:3450" in my Firefox Browser. This is what the server received: ------------------------- Accepting connection from --> 127.0.0.1 Received data -->GET / HTTP/1.1 Host: localhost:3450 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1 ------------------------- Then the browser spins its wheel.... More interesting. telnet localhost 3450 type something in. Server console prints it. But..... Pressing Ctrl-C in telnet causes the Gambas to disappear. I have to start it again. From t.lee.davidson at gmail.com Sat Mar 30 01:10:31 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 29 Mar 2019 20:10:31 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> Message-ID: The issue is not whether or not I am correctly implementing the HTTP protocol. The issue is that the Socket object isn't correctly writing to the stream. The Socket doesn't become ready-to-write until AFTER I actually try to write to it. It's as if a Write attempt triggers the Socket.Write (ready-to-write) event handler. If I then attempt write to the stream in that handler, because it should be ready to right, it gets stuck in a self-triggering loop. BTW, "HTTP/1.1 200 OK" & crlf & crlf & "Hello world!" should be sufficient to satisfy the browser. It works with test servers coded in Python, Golang, and Rust. ___ Lee On 3/29/19 7:27 PM, Cedron Dawg wrote: > I don't think you are implementing the HTTP protocol, or I don't see it. I don't remember it that well either, sorry. > > To get you started:https://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html > > I'm pretty sure the browser is waiting for you to send it a greeting as soon as you recieve the connection. From jussi.lahtinen at gmail.com Sat Mar 30 01:38:57 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 30 Mar 2019 02:38:57 +0200 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> Message-ID: MySock_Ready, instead of Socket_Ready? Why there is out commented write in read event? Jussi On Sat, Mar 30, 2019 at 12:26 AM T Lee Davidson wrote: > I'm using ServerSocket to listen for connections on localhost:8080. When I > make a request to that URI with my browser, it just > hangs, "Waiting for localhost..." > > In the ServerSocket.Connection event, I accept the connection which > creates a Socket object to manage that connection. The issue > seems to be that the accepted socket stream never becomes ready for > writing unless I actually try to write to it. If I then > write to the stream in the Socket.Write event (because that's when it is > supposed to be ready for writing), I get a nearly > endless loop that doesn't give up until around 23000 iterations. > > [code] > ' Gambas module file > > Private hServerSocket As ServerSocket > Private MyConn As Socket > Private crlf As String = Chr(13) & Chr(10) > Private sResponse As String = "HTTP/1.1 200 OK" & crlf & crlf & "Hello > world!" > Private Count As Integer > > Public Sub Main() > > hServerSocket = New ServerSocket As "MySock" > hServerSocket.Type = Net.Internet > hServerSocket.Port = 8080 > hServerSocket.Listen > > End > > Public Sub MySock_Connection(RemoteHostIP As String) > > MyConn = hServerSocket.Accept() > > End > > Public Sub Socket_Ready() > > Print "Socket READY." > > End > > Public Sub Socket_Read() > > For Each sLine As String In MyConn.Lines > Print sLine > Next > > ' Print "Writing to stream." > ' Write #MyConn, sResponse, Len(sResponse) 'Socket not ready for > writing until here. > > End > > Public Sub Socket_Write() > > Print "Socket ready for writing." > ' Inc Count > ' Print Count > ' Write #MyConn, sResponse, Len(sResponse) 'Nearly endless loop created > here. > > End > [/code] > > What am I doing wrong? > > > ___ > Lee > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 30 01:41:38 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 20:41:38 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> Message-ID: <1959742723.18173426.1553906498198.JavaMail.zimbra@exede.net> It's been a long time since I did HTTP, and not much of it then. I got it to work by closing the socket right after the write. I don't think that's how you are supposed to do it, but it makes the browser happy. Testing via telnet show the write happens immediately without the close statement. Sorry I can't help more, but I'll play around a bit with it. Perhaps you can ctrl-C a telnet and see if your Gambas disappears too. ----- Original Message ----- From: "T Lee Davidson" To: "user" Sent: Friday, March 29, 2019 8:10:31 PM Subject: Re: [Gambas-user] Trouble writing to Accepted Socket stream The issue is not whether or not I am correctly implementing the HTTP protocol. The issue is that the Socket object isn't correctly writing to the stream. The Socket doesn't become ready-to-write until AFTER I actually try to write to it. It's as if a Write attempt triggers the Socket.Write (ready-to-write) event handler. If I then attempt write to the stream in that handler, because it should be ready to right, it gets stuck in a self-triggering loop. BTW, "HTTP/1.1 200 OK" & crlf & crlf & "Hello world!" should be sufficient to satisfy the browser. It works with test servers coded in Python, Golang, and Rust. ___ Lee On 3/29/19 7:27 PM, Cedron Dawg wrote: > I don't think you are implementing the HTTP protocol, or I don't see it. I don't remember it that well either, sorry. > > To get you started:https://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html > > I'm pretty sure the browser is waiting for you to send it a greeting as soon as you recieve the connection. ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: TcpSimpleServer-0.0.1.tar.gz Type: application/x-compressed-tar Size: 5250 bytes Desc: not available URL: From cedron at exede.net Sat Mar 30 02:25:16 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 21:25:16 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> Message-ID: <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> Inserting a "Close" makes your code work on the browser end as well. It also allow a refresh to occur. Public Sub Socket_Read() Dim r As String Print "1 MyConn.Status = "; MyConn.Status For Each sLine As String In MyConn.Lines Print sLine Next Print "2 MyConn.Status = "; MyConn.Status r = sResponse & " " & Now() Print "Writing to stream." Write #MyConn, r, Len(r) 'Socket not ready for writing until here. Flush #MyConn Print "3 MyConn.Status = "; MyConn.Status Close #MyConn Print "4 MyConn.Status = "; MyConn.Status End I would note that the sample code provided (at the bottom) in http://gambaswiki.org/wiki/doc/network Does *not* employ the "Write" event handler. With the close statement in there, a Telnet session exits immediately with "Connection closed by foreign host." We used to use Telnet to test servers being up. ----- Original Message ----- From: "T Lee Davidson" To: "user" Sent: Friday, March 29, 2019 8:10:31 PM Subject: Re: [Gambas-user] Trouble writing to Accepted Socket stream The issue is not whether or not I am correctly implementing the HTTP protocol. The issue is that the Socket object isn't correctly writing to the stream. The Socket doesn't become ready-to-write until AFTER I actually try to write to it. It's as if a Write attempt triggers the Socket.Write (ready-to-write) event handler. If I then attempt write to the stream in that handler, because it should be ready to right, it gets stuck in a self-triggering loop. BTW, "HTTP/1.1 200 OK" & crlf & crlf & "Hello world!" should be sufficient to satisfy the browser. It works with test servers coded in Python, Golang, and Rust. ___ Lee From cedron at exede.net Sat Mar 30 02:38:42 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 21:38:42 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> Message-ID: <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> Without the Close statement, the browser spins its wheel. Stopping the Gambas program (closes connection) also makes the browser show the results. The telnet behavior is still bothering me. Could someone please confirm. Comment out the the close statement. It helps to have the version below with a timestamp included. Hit a few characters, [enter], etc. Then a [Ctrl-C] followed by [Enter] This causes my running Gambas IDE to disappear. Stops and closes. From adamnt42 at gmail.com Sat Mar 30 02:45:33 2019 From: adamnt42 at gmail.com (Bruce) Date: Sat, 30 Mar 2019 12:15:33 +1030 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> Message-ID: I don't see why Ctrl+C is causing you so much grief? From Wikipedia: "In many command-line interface environments, control-C is used to abort the current task and regain user control. It is a special sequence which causes the operating system to send a signal to the active program. Usually the signal causes it to end, but the program may "catch" it and do something else, typically returning control to the user." and "In POSIX systems, the sequence causes the active program to receive SIGINT, the interruption signal. If the program does not specify how to handle this condition, it is terminated. Typically a program which does handle a SIGINT will still terminate itself, or at least terminate the task running inside it. " b On 30/3/19 12:08 pm, Cedron Dawg wrote: > Without the Close statement, the browser spins its wheel. Stopping the Gambas program (closes connection) also makes the browser show the results. > > The telnet behavior is still bothering me. Could someone please confirm. > > Comment out the the close statement. It helps to have the version below with a timestamp included. > > Hit a few characters, [enter], etc. Then a [Ctrl-C] followed by [Enter] > > This causes my running Gambas IDE to disappear. Stops and closes. > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From cedron at exede.net Sat Mar 30 02:57:47 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 21:57:47 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> Message-ID: <1367791400.18215610.1553911067796.JavaMail.zimbra@exede.net> I'm not grieving, just perplexed. To be clear, I am running the TcpServer code in the IDE, connecting to it with Telnet. Sending a Ctrl-X from the telnet causes the IDE to immediately terminate and disappear. That seems like undesirable behavior to me. No popups, nothing, just gone. It disappears from the task bar at the bottom as well. I would think that the Gambas IDE should stay open, waiting for other connections. ----- Original Message ----- From: "adamnt42" To: "user" Sent: Friday, March 29, 2019 9:45:33 PM Subject: Re: [Gambas-user] Trouble writing to Accepted Socket stream I don't see why Ctrl+C is causing you so much grief? From Wikipedia: "In many command-line interface environments, control-C is used to abort the current task and regain user control. It is a special sequence which causes the operating system to send a signal to the active program. Usually the signal causes it to end, but the program may "catch" it and do something else, typically returning control to the user." and "In POSIX systems, the sequence causes the active program to receive SIGINT, the interruption signal. If the program does not specify how to handle this condition, it is terminated. Typically a program which does handle a SIGINT will still terminate itself, or at least terminate the task running inside it. " From adamnt42 at gmail.com Sat Mar 30 03:42:19 2019 From: adamnt42 at gmail.com (Bruce) Date: Sat, 30 Mar 2019 13:12:19 +1030 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <1367791400.18215610.1553911067796.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> <1367791400.18215610.1553911067796.JavaMail.zimbra@exede.net> Message-ID: Have a look at http://gambaswiki.org/wiki/comp/gb.signal From that, it looks like the IDE is catching a SIGTERM sent from the telnet process (or the terminal emulator in which the telnet process is running, your guess is as good as mine), which is not being handled in your running "server" process. So the parent process (the IDE) is terminating. BTW, IMO the IDE should terminate given a SIGTERM! I can recall many instances where I have needed to "kill" a runaway process running inside the IDE. Mainly when I have got it into an endless loop that does not invoke the event loop, so the only way to interrupt it is to kill the parent process. I reckon if you handle the SIGTERM (or whatever signal is being sent from the telnet/terminal emulator session) using the gb.signal component then you would be able to handle it as you desire. b On 30/3/19 12:27 pm, Cedron Dawg wrote: > I'm not grieving, just perplexed. > > To be clear, I am running the TcpServer code in the IDE, connecting to it with Telnet. Sending a Ctrl-X from the telnet causes the IDE to immediately terminate and disappear. That seems like undesirable behavior to me. No popups, nothing, just gone. It disappears from the task bar at the bottom as well. > > I would think that the Gambas IDE should stay open, waiting for other connections. > > > ----- Original Message ----- > From: "adamnt42" > To: "user" > Sent: Friday, March 29, 2019 9:45:33 PM > Subject: Re: [Gambas-user] Trouble writing to Accepted Socket stream > > I don't see why Ctrl+C is causing you so much grief? From Wikipedia: > "In many command-line interface environments, control-C is used to abort > the current task and regain user control. It is a special sequence which > causes the operating system to send a signal to the active program. > Usually the signal causes it to end, but the program may "catch" it and > do something else, typically returning control to the user." > > and > > "In POSIX systems, the sequence causes the active program to receive > SIGINT, the interruption signal. If the program does not specify how to > handle this condition, it is terminated. Typically a program which does > handle a SIGINT will still terminate itself, or at least terminate the > task running inside it. " > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > From cedron at exede.net Sat Mar 30 03:52:28 2019 From: cedron at exede.net (Cedron Dawg) Date: Fri, 29 Mar 2019 22:52:28 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> <342352081.18210019.1553909922757.JavaMail.zimbra@exede.net> <1367791400.18215610.1553911067796.JavaMail.zimbra@exede.net> Message-ID: <1734597919.18254774.1553914348354.JavaMail.zimbra@exede.net> Thank you for that most reasonable explanation. I tried compiling the code (my modified T. Lee Davidson) and running it in a terminal. That worked fine. Then I opened a different terminal and telneted in. Ctrl-C does not kill that process. Ctrl-Cing in the sever console did. The real strangeness came when I opened up two different telnet consoles and telnetted in. Somehow, an infinite loop got started and the server window just spewed response after response. I will test further to see if I can duplicate that. I did my fair share of kill -9 #### back in the day. ----- Original Message ----- From: "adamnt42" To: "user" Sent: Friday, March 29, 2019 10:42:19 PM Subject: Re: [Gambas-user] Trouble writing to Accepted Socket stream Have a look at http://gambaswiki.org/wiki/comp/gb.signal From that, it looks like the IDE is catching a SIGTERM sent from the telnet process (or the terminal emulator in which the telnet process is running, your guess is as good as mine), which is not being handled in your running "server" process. So the parent process (the IDE) is terminating. BTW, IMO the IDE should terminate given a SIGTERM! I can recall many instances where I have needed to "kill" a runaway process running inside the IDE. Mainly when I have got it into an endless loop that does not invoke the event loop, so the only way to interrupt it is to kill the parent process. I reckon if you handle the SIGTERM (or whatever signal is being sent from the telnet/terminal emulator session) using the gb.signal component then you would be able to handle it as you desire. b From t.lee.davidson at gmail.com Sat Mar 30 08:31:33 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 03:31:33 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> Message-ID: <38a9aea0-5588-6502-1887-7f77ce4c6515@gmail.com> On 3/29/19 8:38 PM, Jussi Lahtinen wrote: > MySock_Ready, instead of Socket_Ready? Huh? No, not MySock_Ready - MySock_Connection and Socket_Ready. > Why there is out commented write in read event? The commented Write is to show that the Socket_Write event is not triggered until a Write #Stream is actually attempted which I do after the Stream is read. All you have to do is uncomment it instead of typing in a Write statement. [snip] > > Public Sub MySock_Connection(RemoteHostIP As String) > > ? ?MyConn = hServerSocket.Accept() > > End > > Public Sub Socket_Ready() > > ? ?Print "Socket READY." > > End > > Public Sub Socket_Read() > > ? ?For Each sLine As String In MyConn.Lines > ? ? ?Print sLine > ? ?Next > > ? ?' Print "Writing to stream." > ? ?' Write #MyConn, sResponse, Len(sResponse) 'Socket not ready for writing until here. > > End > > Public Sub Socket_Write() > > ? ?Print "Socket ready for writing." > ? ?' Inc Count > ? ?' Print Count > ? ?' Write #MyConn, sResponse, Len(sResponse) 'Nearly endless loop created here. > > End [snip] From chrisml at deganius.de Sat Mar 30 09:17:40 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 30 Mar 2019 09:17:40 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <0d23a87f-1200-5e93-fd04-c7917cd315be@deganius.de> Message-ID: <1cf459fa-0da6-e02a-4020-698fe54b890a@deganius.de> Am 29.03.19 um 10:13 schrieb Fabien Bodard: > The -small one for icons from 64 to 32 > > The second for icons from 24 to 16 Super, very cool. Are you a designer? Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From chrisml at deganius.de Sat Mar 30 09:18:37 2019 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 30 Mar 2019 09:18:37 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Am 29.03.19 um 15:13 schrieb Fabien Bodard: > Le?ven. 29 mars 2019 ??13:40, Gianluigi > a ?crit?: > > > Hi Fabien, > ?fusion two? > > OH yeah !!!... Great ! Yes! A creative explosion in the Gambas Mailinglist! :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From t.lee.davidson at gmail.com Sat Mar 30 09:20:59 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 04:20:59 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <2080785700.18108233.1553902071594.JavaMail.zimbra@exede.net> <1944536431.18189911.1553909116674.JavaMail.zimbra@exede.net> Message-ID: I saw you used Flush and so tried it myself thinking perhaps a Socket stream is buffered. Apparently not, since it made no difference. MyConn.Close after Write #MyConn does work now though; when before I got a, "Connection was reset" in the browser. Perhaps I did not have the response string built properly according to protocol at that particular time. The browser is happy with the code I am now using in the Socket_Read event handler. But, what I still don't get, is why the Socket_Write event is not triggered, even after the Socket is fully read, until after a Write attempt is made. [code] Public Sub Socket_Read() For Each sLine As String In MyConn.Lines Print sLine Next Print "Read from socket." Wait 0.1 'Socket not ready for writing here. Print "Writing to socket." Write #MyConn, sResponse, Len(sResponse) Wait 0.1 'Socket ready for writing here. MyConn.Close End [/code] > I would note that the sample code provided (at the bottom) in > > http://gambaswiki.org/wiki/doc/network > > Does*not* employ the "Write" event handler. It also does not close the stream. ___ Lee On 3/29/19 9:25 PM, Cedron Dawg wrote: > Inserting a "Close" makes your code work on the browser end as well. It also allow a refresh to occur. > > Public Sub Socket_Read() > > Dim r As String > > Print "1 MyConn.Status = "; MyConn.Status > > For Each sLine As String In MyConn.Lines > Print sLine > Next > > Print "2 MyConn.Status = "; MyConn.Status > > r = sResponse & " " & Now() > > Print "Writing to stream." > Write #MyConn, r, Len(r) 'Socket not ready for writing until here. > Flush #MyConn > > Print "3 MyConn.Status = "; MyConn.Status > > Close #MyConn > > Print "4 MyConn.Status = "; MyConn.Status > > End > > I would note that the sample code provided (at the bottom) in > > http://gambaswiki.org/wiki/doc/network > > Does*not* employ the "Write" event handler. > > With the close statement in there, a Telnet session exits immediately with > > "Connection closed by foreign host." > > We used to use Telnet to test servers being up. From t.lee.davidson at gmail.com Sat Mar 30 09:26:43 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 04:26:43 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <38a9aea0-5588-6502-1887-7f77ce4c6515@gmail.com> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <38a9aea0-5588-6502-1887-7f77ce4c6515@gmail.com> Message-ID: I think I misunderstood what you were saying, Jussi. Now I see it as a suggestion, duh. ___ Lee On 3/30/19 3:31 AM, T Lee Davidson wrote: > On?3/29/19?8:38?PM,?Jussi?Lahtinen?wrote: >> MySock_Ready,?instead?of?Socket_Ready? > > Huh??No,?not?MySock_Ready?-??MySock_Connection?and?Socket_Ready. From gambas.fr at gmail.com Sat Mar 30 09:33:07 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 30 Mar 2019 09:33:07 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: I'm a vinegrower :-) With the passion of Coding and arts... and too many things, too This is some of my shared draw : https://www.instagram.com/sirfabien/ Le sam. 30 mars 2019 ? 09:19, Christof Thalhofer a ?crit : > Am 29.03.19 um 15:13 schrieb Fabien Bodard: > > > Le ven. 29 mars 2019 ? 13:40, Gianluigi > > a ?crit : > > > > > > Hi Fabien, > > fusion two? > > > > OH yeah !!!... Great ! > > Yes! A creative explosion in the Gambas Mailinglist! > > :-) > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From taboege at gmail.com Sat Mar 30 09:37:42 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 30 Mar 2019 09:37:42 +0100 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> Message-ID: <20190330083741.GA17589@highrise.localdomain> On Fri, 29 Mar 2019, T Lee Davidson wrote: > I'm using ServerSocket to listen for connections on localhost:8080. When I > make a request to that URI with my browser, it just hangs, "Waiting for > localhost..." > > In the ServerSocket.Connection event, I accept the connection which creates > a Socket object to manage that connection. The issue seems to be that the > accepted socket stream never becomes ready for writing unless I actually try > to write to it. If I then write to the stream in the Socket.Write event > (because that's when it is supposed to be ready for writing), I get a nearly > endless loop that doesn't give up until around 23000 iterations. > The Write event is supposed (as per source code) to only fire when you have enqueued data to be sent. It works like this: Write #Socket --> gb.net tries to send it, installs a Write event callback --> which when fired raises the Gambas event and deinstalls itself again until the next write happens I hope that makes it clearer why writing to the stream *unconditionally* inside a Write event may create an endless loop. I killed mine after 99000 iterations (twice). I'm not sure under which condition, by chance, the loop even halts. Is an error raised when it terminates on your side? Anyway, here is why it makes sense: One thing to remember is that Gambas' event handling is built around the select() syscall, so a Write event on a file descriptor Streams (File, Socket) is *usually* to be interpreted in the select(2) sense: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become "ready" for some class of I/O operation (e.g., input possible). A file descriptor is considered ready if it is possible to perform a corresponding I/O operation (e.g., read(2) without blocking, or a sufficiently small write(2)). [...] Three independent sets of file descriptors are watched. [...] The file descriptors in writefds will be watched to see if space is available for write (though a large write may still block). It concerns the status of kernel buffers, if they can keep up sending data (over the network in this case) with how fast your application produces it. And that's how I take it you should use this event: your application appends to an arbitrary-sized Gambas String buffer the data which should be sent, and your Write event handler takes care of feeding the small kernel buffers from that string; the Write event will be raised whenever you can feed more. To respond to a client query, I'd use the Read event. Read all the data until you have the full query assembled, then process it and answer, possibly involving the Write event as described above. In your program what's missing is the Content-Length header. If missing the browser doesn't know when your HTTP response is fully received and you'd have to close the connection to indicate it. If you add that, sending the response from the Read event will work: Private sPayload As String = "Hello World!" Private sResponse As String = Subst$("HTTP/1.1 200 OK\r\nContent-Length: &1\r\n\r\n&2", Len(sPayload), sPayload) > Private crlf As String = Chr(13) & Chr(10) BTW that particular constant is built into Gambas as gb.CrLf. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From gambas.fr at gmail.com Sat Mar 30 10:02:13 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 30 Mar 2019 10:02:13 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: And more simply. This is a good collaboration :-) Le sam. 30 mars 2019 ? 09:33, Fabien Bodard a ?crit : > I'm a vinegrower :-) > > With the passion of Coding and arts... and too many things, too > > This is some of my shared draw : > https://www.instagram.com/sirfabien/ > > > Le sam. 30 mars 2019 ? 09:19, Christof Thalhofer a > ?crit : > >> Am 29.03.19 um 15:13 schrieb Fabien Bodard: >> >> > Le ven. 29 mars 2019 ? 13:40, Gianluigi > > > a ?crit : >> > >> > >> > Hi Fabien, >> > fusion two? >> > >> > OH yeah !!!... Great ! >> >> Yes! A creative explosion in the Gambas Mailinglist! >> >> :-) >> >> Alles Gute >> >> Christof Thalhofer >> >> -- >> Dies ist keine Signatur >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fusion-3.svg Type: image/svg+xml Size: 14435 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fusion-3.svg.png Type: image/png Size: 7210 bytes Desc: not available URL: From t.lee.davidson at gmail.com Sat Mar 30 10:28:56 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 05:28:56 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <20190330083741.GA17589@highrise.localdomain> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <20190330083741.GA17589@highrise.localdomain> Message-ID: <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> On 3/30/19 4:37 AM, Tobias Boege wrote: > The Write event is supposed (as per source code) to only fire when you have > enqueued data to be sent. It works like this: > > Write #Socket --> gb.net tries to send it, installs a Write event > callback --> which when fired raises the Gambas event and deinstalls > itself again until the next write happens So then the documentation for the Socket.Write event handler saying, "This event is raised when the socket is ready for writing," is not correct? Should that be, "This event is raised when there is enqueued data ready to be written to the socket"? Or should it be, "This event is raised when there is enqueued data to be written to the socket and the socket is ready to accept it"? I think I'm confused. Of what use is a callback if one does not have access to the data already in the 'pipe'? > And that's how I take it you should use this event: your application appends > to an arbitrary-sized Gambas String buffer the data which should be sent, > and your Write event handler takes care of feeding the small kernel buffers > from that string; the Write event will be raised whenever you can feed more. How exactly would that be done? If the Write event doesn't fire until one has *already* written to the stream, what good is it? If I have a global buffer declared and then defined with a huge amount of data to be sent over the socket, how do I use the Write event to write small chunks of that data to the socket if the Write event doesn't fire until I write to the socket?? Seems like a catch 22. Would one write the first chunk in, say, the Socket_Read event handler and then let the Write event handle the rest? Sort of like priming a While loop? >> Private crlf As String = Chr(13) & Chr(10) > > BTW that particular constant is built into Gambas as gb.CrLf. I thought something like that might be defined. I found gb.NewLine in "Predefined Constants" [0]. But, gb.CrLf is not there. ___ Lee [0] http://gambaswiki.org/wiki/cat/constant From taboege at gmail.com Sat Mar 30 11:27:03 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 30 Mar 2019 11:27:03 +0100 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <20190330083741.GA17589@highrise.localdomain> <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> Message-ID: <20190330102703.GB17589@highrise.localdomain> On Sat, 30 Mar 2019, T Lee Davidson wrote: > On 3/30/19 4:37 AM, Tobias Boege wrote: > > The Write event is supposed (as per source code) to only fire when you have > > enqueued data to be sent. It works like this: > > > > Write #Socket --> gb.net tries to send it, installs a Write event > > callback --> which when fired raises the Gambas event and deinstalls > > itself again until the next write happens > > So then the documentation for the Socket.Write event handler saying, "This > event is raised when the socket is ready for writing," is not correct? > > Should that be, "This event is raised when there is enqueued data ready to > be written to the socket"? Or should it be, "This event is raised when there > is enqueued data to be written to the socket and the socket is ready to > accept it"? I think I'm confused. Of what use is a callback if one does not > have access to the data already in the 'pipe'? > This event is raised when the internal buffers allow more data to be written to the socket without blocking the application. But a large Write may still block because the buffers were not _that_ empty. > > And that's how I take it you should use this event: your application appends > > to an arbitrary-sized Gambas String buffer the data which should be sent, > > and your Write event handler takes care of feeding the small kernel buffers > > from that string; the Write event will be raised whenever you can feed more. > > How exactly would that be done? If the Write event doesn't fire until one has *already* written to the stream, what good is it? > What is the alternative? Firing it constantly after a connection was established? "Hey, you could be writing data now" -- "I don't have data to write" "Hey, you could be writing data now" -- "I don't have data to write" "Hey, you could be writing data now" -- "I don't have data to write" ... at 100% CPU usage. Somehow you have to indicate to Gambas that you have data to write and care about Write events being delivered for the time it takes you to send that data. If you have no data to write, it would be a tremendous waste of CPU cycles to alert you whenever the write buffer of every one of your sockets is empty. > If I have a global buffer declared and then defined with a huge amount of > data to be sent over the socket, how do I use the Write event to write small > chunks of that data to the socket if the Write event doesn't fire until I > write to the socket?? Seems like a catch 22. > > Would one write the first chunk in, say, the Socket_Read event handler and > then let the Write event handle the rest? Sort of like priming a While loop? > Yes, you have to kick off the process with an initial Write and then subsequent Write events will be raised for you as soon as the socket has more capacity to take in your data, for as long as you write more data inside each event. In an HTTP response it'd make sense to push the HTTP header into the stream as an initial write, and then fetch and send the body in small chunks, maybe from disk if you serve a static file. That'd be most memory-efficient. Maybe it would be good if Socket had an asynchronous version of Begin(), which kicks the Write event machinery off instead, so that you can keep all your Writes in the same place? > > > Private crlf As String = Chr(13) & Chr(10) > > > > BTW that particular constant is built into Gambas as gb.CrLf. > > I thought something like that might be defined. I found gb.NewLine in "Predefined Constants" [0]. But, gb.CrLf is not there. > Look again :-) I just added it. If you're satisfied with the explanation above, I'll try to compose a better Socket_Write page, too. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bagonergi at gmail.com Sat Mar 30 13:30:11 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 30 Mar 2019 13:30:11 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Good wine is a great source of inspiration. (Cruel doctors have forbidden it to me) ;-D Regards Gianluigi Il giorno sab 30 mar 2019 alle ore 09:34 Fabien Bodard ha scritto: > I'm a vinegrower :-) > > With the passion of Coding and arts... and too many things, too > > This is some of my shared draw : > https://www.instagram.com/sirfabien/ > > > Le sam. 30 mars 2019 ? 09:19, Christof Thalhofer a > ?crit : > >> Am 29.03.19 um 15:13 schrieb Fabien Bodard: >> >> > Le ven. 29 mars 2019 ? 13:40, Gianluigi > > > a ?crit : >> > >> > >> > Hi Fabien, >> > fusion two? >> > >> > OH yeah !!!... Great ! >> >> Yes! A creative explosion in the Gambas Mailinglist! >> >> :-) >> >> Alles Gute >> >> Christof Thalhofer >> >> -- >> Dies ist keine Signatur >> >> >> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >> > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Mar 30 13:33:27 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 30 Mar 2019 13:33:27 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Yes , great. Simpler and more beautiful. :-) Regards Gianluigi Il giorno sab 30 mar 2019 alle ore 10:03 Fabien Bodard ha scritto: > And more simply. This is a good collaboration :-) > > Le sam. 30 mars 2019 ? 09:33, Fabien Bodard a > ?crit : > >> I'm a vinegrower :-) >> >> With the passion of Coding and arts... and too many things, too >> >> This is some of my shared draw : >> https://www.instagram.com/sirfabien/ >> >> >> Le sam. 30 mars 2019 ? 09:19, Christof Thalhofer a >> ?crit : >> >>> Am 29.03.19 um 15:13 schrieb Fabien Bodard: >>> >>> > Le ven. 29 mars 2019 ? 13:40, Gianluigi >> > > a ?crit : >>> > >>> > >>> > Hi Fabien, >>> > fusion two? >>> > >>> > OH yeah !!!... Great ! >>> >>> Yes! A creative explosion in the Gambas Mailinglist! >>> >>> :-) >>> >>> Alles Gute >>> >>> Christof Thalhofer >>> >>> -- >>> Dies ist keine Signatur >>> >>> >>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- >>> >> >> >> -- >> Fabien Bodard >> > > > -- > Fabien Bodard > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 30 14:33:40 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 30 Mar 2019 09:33:40 -0400 (EDT) Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <20190330102703.GB17589@highrise.localdomain> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <20190330083741.GA17589@highrise.localdomain> <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> <20190330102703.GB17589@highrise.localdomain> Message-ID: <1504235812.18695819.1553952820310.JavaMail.zimbra@exede.net> Hi Tobi, Thanks for all the clarifications. I think it would be very helpful adding what you wrote to: http://gambaswiki.org/wiki/comp/gb.net/socket/.write Thanks also for the "content-length" clarification, I should have caught that. My "Flush" was just flailing, that is all. I knew it was working due to the Telnet testing. Is there a way to find out how much room is available in the output buffer for which a block won't occur? Ced ----- Original Message ----- From: "Tobias Boege" [...] This event is raised when the internal buffers allow more data to be written to the socket without blocking the application. But a large Write may still block because the buffers were not _that_ empty. [...] If you're satisfied with the explanation above, I'll try to compose a better Socket_Write page, too. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From taboege at gmail.com Sat Mar 30 15:04:15 2019 From: taboege at gmail.com (Tobias Boege) Date: Sat, 30 Mar 2019 15:04:15 +0100 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <1504235812.18695819.1553952820310.JavaMail.zimbra@exede.net> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <20190330083741.GA17589@highrise.localdomain> <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> <20190330102703.GB17589@highrise.localdomain> <1504235812.18695819.1553952820310.JavaMail.zimbra@exede.net> Message-ID: <20190330140415.GC17589@highrise.localdomain> On Sat, 30 Mar 2019, Cedron Dawg wrote: > Is there a way to find out how much room is available in the output buffer for which a block won't occur? > Not that I am aware of. I suppose that would go via ioctl()s if at all. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From gambas.fr at gmail.com Sat Mar 30 17:08:23 2019 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 30 Mar 2019 17:08:23 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Le sam. 30 mars 2019 13:31, Gianluigi a ?crit : > Good wine is a great source of inspiration. > (Cruel doctors have forbidden it to me) > ;-D > No problem I'm a Cognac producer... It's no wine ? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sat Mar 30 17:18:10 2019 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 30 Mar 2019 17:18:10 +0100 Subject: [Gambas-user] Gambas Trawler and Gambas-Basic.org migration? In-Reply-To: References: <20190324225457.GA29836@highrise.localdomain> <20190326221123.GB524@highrise.localdomain> Message-ID: Il giorno sab 30 mar 2019 alle ore 17:09 Fabien Bodard ha scritto: > > > Le sam. 30 mars 2019 13:31, Gianluigi a ?crit : > >> Good wine is a great source of inspiration. >> (Cruel doctors have forbidden it to me) >> ;-D >> > > No problem I'm a Cognac producer... It's no wine ? > >> > Cognac, as a source of inspiration, is even better than good wine. ? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From cedron at exede.net Sat Mar 30 17:51:17 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 30 Mar 2019 12:51:17 -0400 (EDT) Subject: [Gambas-user] Soup's on - Auto-compile shared object utility procedures Message-ID: <1965816360.18866065.1553964677631.JavaMail.zimbra@exede.net> I just posted an entry to Gambas.One titled: "Auto-Compiling Shared Libraries" https://forum.gambas.one/viewtopic.php?f=4&t=688 It contains a zip file for a starter "libGambas" directory structure for writing and testing shared libraries. I finally solved the error capture problem. It simply involved changing "for read" to "for input" in the Exec statement. The reason that worked is due to "A virtual terminal has only one output. Consequently, the standard error output of the running process is received through the Read event." http://gambaswiki.org/wiki/lang/exec Attn Hans L. and other non-English forum members: Please feel free to repost this material, ideally translated, in your forums. Ced From t.lee.davidson at gmail.com Sat Mar 30 18:44:14 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 13:44:14 -0400 Subject: [Gambas-user] Trouble writing to Accepted Socket stream In-Reply-To: <20190330102703.GB17589@highrise.localdomain> References: <86143238-c869-96f1-4b74-626ff28280b4@gmail.com> <20190330083741.GA17589@highrise.localdomain> <9117be4c-23ea-e82c-5827-c8b70c937108@gmail.com> <20190330102703.GB17589@highrise.localdomain> Message-ID: On 3/30/19 6:27 AM, Tobias Boege wrote: > This event is raised when the internal buffers allow more data to be written > to the socket without blocking the application. But a large Write may still > block because the buffers were not _that_ empty. > > > Yes, you have to kick off the process with an initial Write and then > subsequent Write events will be raised for you as soon as the socket > has more capacity to take in your data, for as long as you write more > data inside each event. > > In an HTTP response it'd make sense to push the HTTP header into the > stream as an initial write, and then fetch and send the body in small > chunks, maybe from disk if you serve a static file. That'd be most > memory-efficient. > > > If you're satisfied with the explanation above, I'll try to compose > a better Socket_Write page, too. > Thank you. I was going to do that, but you explain those concepts better than I could. I think it is important to understand that the firing of the Write event is indicative of the state of the internal buffers and not the readiness status of the connection itself as was my original understanding. Your explanation clarifies that. One more thing I hope you will include in the documentation where appropriate, is whether or not these internal buffers would be affected by Flush. ___ Lee From t.lee.davidson at gmail.com Sat Mar 30 23:55:00 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 30 Mar 2019 18:55:00 -0400 Subject: [Gambas-user] ServerSocket doesn't appear to scale well Message-ID: Okay so I coded up a multi-socketed server loosely based on the "Network Programming" example [0]. (I found that there's no need to maintain an array of Socket objects.) I ran some tests using the Apache HTTP benchmark tool ('ab'). When sending the server 100 total and concurrent requests, it's performance is relatively impressive: Time taken for tests: 0.032 seconds. But, if I hammer it with much more than 100 concurrent requests (about 150-200 I think), it starts to choke creating new connection Sockets very slowly. Even at only 100 requests, a test will sometimes not complete due to a time-out. Any suggestions as to why that might be, and what I could do to open it up? Here's what I have: [code] ' Gambas module file Public sPayload As String = "Hello World!" Public sResponse As String = Subst$("HTTP/1.1 200 OK\r\nContent-Length: &1\r\n\r\n&2", Len(sPayload), sPayload) 'Nice. Thx Tobi. Public Srv As ServerSocket Public Sub Main() Srv = New ServerSocket As "Srv" Srv.Type = Net.Internet Srv.Port = 8080 Srv.Listen() End Public Sub Srv_Connection(Host As String) Dim MySock As Socket MySock = Srv.Accept() End Public Sub Socket_Read() Dim sCad As String Read #Last, sCad, Lof(Last) Write #Last, sResponse, Len(sResponse) Last.Close ' Print Srv.Count End Public Sub Srv_Error() Print "Server error: " & Srv.Status End Public Sub Socket_Error() Print "Socket error: " & Last.Status End [/code] BTW, I get no errors. ___ Lee [0] http://gambaswiki.org/wiki/doc/network#t13 From cedron at exede.net Sun Mar 31 00:53:59 2019 From: cedron at exede.net (Cedron Dawg) Date: Sat, 30 Mar 2019 19:53:59 -0400 (EDT) Subject: [Gambas-user] ServerSocket doesn't appear to scale well In-Reply-To: References: Message-ID: <352893483.19292079.1553990039508.JavaMail.zimbra@exede.net> You may be facing a system limitation: https://stackoverflow.com/questions/410616/increasing-the-maximum-number-of-tcp-ip-connections-in-linux "On the Server Side: The net.core.somaxconn value has an important role. It limits the maximum number of requests queued to a listen socket. If you are sure of your server application's capability, bump it up from default 128 to something like 128 to 1024. Now you can take advantage of this increase by modifying the listen backlog variable in your application's listen call, to an equal or higher integer." Just an idea to follow up on, nothing in concrete. Ced ----- Original Message ----- From: "T Lee Davidson" [...] Any suggestions as to why that might be, and what I could do to open it up? [...] ___ Lee [0] http://gambaswiki.org/wiki/doc/network#t13 ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- From t.lee.davidson at gmail.com Sun Mar 31 07:42:42 2019 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 31 Mar 2019 01:42:42 -0400 Subject: [Gambas-user] ServerSocket doesn't appear to scale well In-Reply-To: <352893483.19292079.1553990039508.JavaMail.zimbra@exede.net> References: <352893483.19292079.1553990039508.JavaMail.zimbra@exede.net> Message-ID: <1800f5cf-e62d-eb7b-5671-359025f9a13d@gmail.com> Thanks for the suggestion, Ced. I actually ran across that same page earlier when researching the issue. I was only casually researching though, because other test servers I have quickly coded up in other languages don't suffer from this issue. But just to finally rule that out as a potential cause, I did just now try again after bumping net.core.somaxconn to 1024 from 128 -- no improvement :-( ___ Lee On 3/30/19 7:53 PM, Cedron Dawg wrote: > You may be facing a system limitation: > > https://stackoverflow.com/questions/410616/increasing-the-maximum-number-of-tcp-ip-connections-in-linux > > "On the Server Side: The net.core.somaxconn value has an important role. It limits the maximum number of requests queued to a listen socket. If you are sure of your server application's capability, bump it up from default 128 to something like 128 to 1024. Now you can take advantage of this increase by modifying the listen backlog variable in your application's listen call, to an equal or higher integer." > > Just an idea to follow up on, nothing in concrete. > > Ced From taboege at gmail.com Sun Mar 31 12:44:42 2019 From: taboege at gmail.com (Tobias Boege) Date: Sun, 31 Mar 2019 12:44:42 +0200 Subject: [Gambas-user] ServerSocket doesn't appear to scale well In-Reply-To: References: Message-ID: <20190331104442.GF17589@highrise.localdomain> On Sat, 30 Mar 2019, T Lee Davidson wrote: > Okay so I coded up a multi-socketed server loosely based on the "Network > Programming" example [0]. (I found that there's no need to maintain an array > of Socket objects.) > > I ran some tests using the Apache HTTP benchmark tool ('ab'). When sending > the server 100 total and concurrent requests, it's performance is relatively > impressive: Time taken for tests: 0.032 seconds. > > But, if I hammer it with much more than 100 concurrent requests (about > 150-200 I think), it starts to choke creating new connection Sockets very > slowly. Even at only 100 requests, a test will sometimes not complete due to > a time-out. > > Any suggestions as to why that might be, and what I could do to open it up? > > Here's what I have: > I think you can't do better in Gambas than your code. I'm not saying that the performance can't be improved in Gambas, but I doubt that you can do it from a Gambas program. Starting a Task for every connection would most likely not help you here as your connections are very short-lived. My suspicions point in the direction of select(), particularly [1,2] and the benchmark by libevent [3] linked there. The caption [4] of that image reads: "The benchmark measures how long it takes to serve one active connection [ under the indicated load of other active file descriptors, I suppose ] and exposes scalability issues of traditional interfaces like select or poll". Maybe it is the performance characteristics of select() and the number of sockets you deal with that cause the problem. It would be interesting to substitute one of the better-scaling multiplexing mechanisms according to [3] for select() [ even though we need level-triggered IO notification for Gambas events and [2] does not list anything on Linux besides poll() and select() ]. I'm not sure how much work it is to just try it out with epoll(), but it might not be so much as all mentions of "select" and "FD_SET" are confined to gbx_watch.c. Consider me interested, but I have to give and take some Sunday visits today. That's just one idea though. Regards, Tobi [1] https://stackoverflow.com/questions/142677/how-to-most-efficently-handle-large-numbers-of-file-descriptors [2] http://www.kegel.com/c10k.html [3] https://monkey.org/~provos/libevent/libevent-benchmark.jpg [4] http://libevent.org/ -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From hans at gambas-buch.de Sun Mar 31 13:45:08 2019 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 31 Mar 2019 13:45:08 +0200 Subject: [Gambas-user] Profiling Message-ID: Hello, I have two questions about profiling. The profile mode can be switched on and off in the IDE in the menu `Debugging> Activate Profiling`. After the end of the program you can have a look at the detailed information. With `Print System.profiles` you can obviously query whether the profile mode is set or not. * But what is the point of using the boolean property System.Profile with `System.Profile = True` or `System.Profile = False`? * Can anyone give me an example where the two statements are used sensibly? Yours sincerely Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Gambas-Buch-Logo 85x98.png Type: image/png Size: 3306 bytes Desc: not available URL: From g4mba5 at gmail.com Sun Mar 31 20:16:34 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 31 Mar 2019 20:16:34 +0200 Subject: [Gambas-user] ServerSocket doesn't appear to scale well In-Reply-To: <20190331104442.GF17589@highrise.localdomain> References: <20190331104442.GF17589@highrise.localdomain> Message-ID: <56f0ffbc-47b4-cd78-0d74-0123be5c3382@gmail.com> Le 31/03/2019 ? 12:44, Tobias Boege a ?crit?: > On Sat, 30 Mar 2019, T Lee Davidson wrote: >> Okay so I coded up a multi-socketed server loosely based on the "Network >> Programming" example [0]. (I found that there's no need to maintain an array >> of Socket objects.) >> >> I ran some tests using the Apache HTTP benchmark tool ('ab'). When sending >> the server 100 total and concurrent requests, it's performance is relatively >> impressive: Time taken for tests: 0.032 seconds. >> >> But, if I hammer it with much more than 100 concurrent requests (about >> 150-200 I think), it starts to choke creating new connection Sockets very >> slowly. Even at only 100 requests, a test will sometimes not complete due to >> a time-out. >> >> Any suggestions as to why that might be, and what I could do to open it up? >> >> Here's what I have: >> > > I think you can't do better in Gambas than your code. I'm not saying that > the performance can't be improved in Gambas, but I doubt that you can do > it from a Gambas program. Starting a Task for every connection would most > likely not help you here as your connections are very short-lived. > > My suspicions point in the direction of select(), particularly [1,2] and > the benchmark by libevent [3] linked there. The caption [4] of that image > reads: "The benchmark measures how long it takes to serve one active > connection [ under the indicated load of other active file descriptors, > I suppose ] and exposes scalability issues of traditional interfaces > like select or poll". > > Maybe it is the performance characteristics of select() and the number > of sockets you deal with that cause the problem. It would be interesting > to substitute one of the better-scaling multiplexing mechanisms according > to [3] for select() [ even though we need level-triggered IO notification > for Gambas events and [2] does not list anything on Linux besides poll() > and select() ]. I'm not sure how much work it is to just try it out with > epoll(), but it might not be so much as all mentions of "select" and > "FD_SET" are confined to gbx_watch.c. Consider me interested, but I have > to give and take some Sunday visits today. > > That's just one idea though. > > Regards, > Tobi > > [1] https://stackoverflow.com/questions/142677/how-to-most-efficently-handle-large-numbers-of-file-descriptors > [2] http://www.kegel.com/c10k.html > [3] https://monkey.org/~provos/libevent/libevent-benchmark.jpg > [4] http://libevent.org/ > Yes, replacing select() by poll() is something to be done. But I don't think that it explains why creating socket become suddenly very slow after a specific number of socket. The slow down should be linear if it comes from Gambas. Regards, -- Beno?t Minisini From cedron at exede.net Sun Mar 31 20:18:27 2019 From: cedron at exede.net (Cedron Dawg) Date: Sun, 31 Mar 2019 14:18:27 -0400 (EDT) Subject: [Gambas-user] New Shared Library: FFT routines Message-ID: <1366859603.20134870.1554056307877.JavaMail.zimbra@exede.net> I just posted some code at Gambas.One. Titled: Shared Library: FFTW Wrapper https://forum.gambas.one/viewtopic.php?f=4&t=689 Here is the first installment of my forthcoming DSP helper routines. The usage is shown in the included test program. From g4mba5 at gmail.com Sun Mar 31 20:18:35 2019 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 31 Mar 2019 20:18:35 +0200 Subject: [Gambas-user] Profiling In-Reply-To: References: Message-ID: <57023f33-76e6-6441-2c8d-367bb7473202@gmail.com> Le 31/03/2019 ? 13:45, Hans Lehmann a ?crit?: > Hello, > > I have two questions about profiling. The profile mode can be switched > on and off in the IDE in the menu `Debugging> Activate Profiling`. After > the end of the program you can have a look at the detailed information. > With `Print System.profiles` you can obviously query whether the profile > mode is set or not. > > * But what is the point of using the boolean property System.Profile > with `System.Profile = True` or `System.Profile = False`? > * Can anyone give me an example where the two statements are used > sensibly? > > Yours sincerely > > Hans > > If you want to profile just a specific part of your code. Profiling everything may be slow, and there is a limit of the size of the profiling file. So, in that case, you activate profiling globally, and then disable it explicitly around all the code you don't need to profile. Regards, -- Beno?t Minisini From jussi.lahtinen at gmail.com Sun Mar 31 22:27:05 2019 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 31 Mar 2019 23:27:05 +0300 Subject: [Gambas-user] Profiling In-Reply-To: References: Message-ID: You don't want profile things, which are dependent on user (example GUI code waiting user input). Only things, which depends solely on execution speed *and* needs to be improved. So, you use System.Profile = True just berofe this code is executed. Jussi On Sun, Mar 31, 2019 at 2:46 PM Hans Lehmann wrote: > Hello, > > I have two questions about profiling. The profile mode can be switched on > and off in the IDE in the menu `Debugging> Activate Profiling`. After the > end of the program you can have a look at the detailed information. With > `Print System.profiles` you can obviously query whether the profile mode is > set or not. > > - But what is the point of using the boolean property System.Profile > with `System.Profile = True` or `System.Profile = False`? > - Can anyone give me an example where the two statements are used > sensibly? > > Yours sincerely > > Hans > > > > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Gambas-Buch-Logo 85x98.png Type: image/png Size: 3306 bytes Desc: not available URL: