From g4mba5 at gmail.com Mon Feb 1 00:22:37 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 1 Feb 2021 00:22:37 +0100 Subject: [Gambas-user] Faster compiler In-Reply-To: References: <9764288e-305b-ae5f-1c38-44e0242939f2@gmail.com> <116786414.1622.1612117924184.JavaMail.zimbra@westwoodsvcs.com> <851843619.1690.1612131281603.JavaMail.zimbra@westwoodsvcs.com> <9acc533a-b708-e522-0c9f-a3b80ea0af95@gmail.com> Message-ID: <4f249a68-8507-665b-e28c-a0c259ac1e5c@gmail.com> Le 31/01/2021 ? 23:42, Bruce Steers a ?crit?: > > Yes. I knew for Linux, but didn't for BSD*. Then I can add a > System.CpuCount property! > > > Nice ? > and thank you Brian. > Maybe even a -j all or -j max or -j auto to use all cores automatically > could be possible too? > > Wishing well > BruceS > Yes, but it is more complex than that. It's only meaningful if your tasks only use the CPU. As soon as you start waiting for I/O with a disk, you should run more tasks than CPU because there is still something to gain (the time when your task blocks waiting for I/O). For example, I usually run one more task than CPU when doing a compilation. -- Beno?t Minisini From brian at westwoodsvcs.com Mon Feb 1 02:49:31 2021 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 31 Jan 2021 17:49:31 -0800 (PST) Subject: [Gambas-user] Highlight not working for script class definition Message-ID: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> I am not sure if this is a bug or a feature, but it would be nice if it was fixed For Class definitions it would be nice if the highlighter recognized CLASS as a keyword class Myclass ....... END class <--- this is not recognized as a keyword I assume this should be recognized.... make it easier to parse. no need for upper(everything) and identified correctly of course... Thank You Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 1 03:57:57 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 1 Feb 2021 03:57:57 +0100 Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Le 01/02/2021 ? 02:49, Brian G a ?crit?: > I am not sure if this is a bug or a feature, but it would be nice if it > was fixed > > For Class definitions it would be nice if the highlighter recognized > CLASS as a keyword > > class Myclass > ....... > > END class <--- this is not recognized as a keyword I assume this should > be recognized.... > make it easier to parse. no need for upper(everything) and identified > correctly of course... > > Thank You > Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > OK, but you must the Highlight.Analyze() function to parse Gambas code, not do it yourself. -- Beno?t Minisini From brian at westwoodsvcs.com Mon Feb 1 05:13:37 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Mon, 01 Feb 2021 07:13:37 +0300 Subject: [Gambas-user] =?utf-8?q?Highlight_not_working_for_script_class_d?= =?utf-8?q?efinition?= In-Reply-To: References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1612152817.347988649@f24.my.com> Yes that is the idea! -- Thanks Brian Sunday, 31 January 2021, 06:58PM -08:00 from Beno?t Minisini g4mba5 at gmail.com : >Le 01/02/2021 ? 02:49, Brian G a ?crit?: > I am not sure if this is a bug or a feature, but it would be nice if it > was fixed > > For Class definitions it would be nice if the highlighter recognized > CLASS as a keyword > > class Myclass > ....... > > END class < --- this is not recognized as a keyword I assume this should > be recognized.... > make it easier to parse. no need for upper(everything) and identified > correctly of course... > > Thank You > Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > >OK, but you must the Highlight.Analyze() function to parse Gambas code, >not do it yourself. > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 1 08:19:41 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Mon, 1 Feb 2021 08:19:41 +0100 Subject: [Gambas-user] Newbie question: socket example In-Reply-To: <510b579f-79aa-7246-12b0-0515001eb963@gmail.com> References: <510b579f-79aa-7246-12b0-0515001eb963@gmail.com> Message-ID: <571c2230-5c7c-e084-064e-248ccad1b50c@3d-phenomen.fr> Hello petter, what do you mean by socket component? are you talking about gb.net ? Also, I don't understand this line: ?MySock=NEW Socket AS "MySock" which should be: ?MySock=NEW Socket Because, in the class header there is : PUBLIC MySock AS Socket friendship Olivier Coquet Le 31/01/2021 ? 19:52, pf a ?crit?: > > newbie Question > > I try o use the Socket component. Enabled the component in a new > project and put in the example code from the help. > > It got stuck on the ClsMain, "Unknown identifier" > > Regards Chris > > Paste from the help i use: > > ' Gambas class file STATIC App AS ClsMain PUBLIC MySock AS Socket > PUBLIC SUB MySock_Ready() WRITE #MySock,"Hello",5 END PUBLIC SUB > MySock_Read() DIM sCad AS String READ #MySock,sCad,Lof(MySock) PRINT > sCad CLOSE #MySock END PUBLIC SUB _New() MySock=NEW Socket AS "MySock" > MySock.Connect("name_of_host",3450) END PUBLIC SUB MySock_Error() > PRINT "Unable to connect" END STATIC PUBLIC SUB Main() App=NEW ClsMain END > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 1 08:48:32 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 1 Feb 2021 07:48:32 +0000 Subject: [Gambas-user] Newbie question: socket example In-Reply-To: <571c2230-5c7c-e084-064e-248ccad1b50c@3d-phenomen.fr> References: <510b579f-79aa-7246-12b0-0515001eb963@gmail.com> <571c2230-5c7c-e084-064e-248ccad1b50c@3d-phenomen.fr> Message-ID: On Mon, 1 Feb 2021 at 07:21, Olivier Coquet wrote: > Hello petter, > > what do you mean by socket component? > > are you talking about gb.net ? > > Also, I don't understand this line: > > MySock=NEW Socket AS "MySock" > > which should be: > > MySock=NEW Socket > > Because, in the class header there is : > > PUBLIC MySock AS Socket > No Oliver the code is correct. your statement "which should be" is wrong though, you appear to be ill-advising. To access the socket events like _Read the socket is named at creation with 'As "MySocket"' then a function like... Public Sub MySocket_Read() becomes available. Or.. PUBLIC MySock As Socket ' defines a socket object but does not create one MySock = New Socket As "MyNewSocket" ' creates the socket with a reference name of MyNewSocket with the above code MySocket_Read() event will not happen but MyNewSocket_Read() will. Do you understand? BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 1 09:02:50 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Mon, 1 Feb 2021 09:02:50 +0100 Subject: [Gambas-user] Newbie question: socket example In-Reply-To: References: <510b579f-79aa-7246-12b0-0515001eb963@gmail.com> <571c2230-5c7c-e084-064e-248ccad1b50c@3d-phenomen.fr> Message-ID: <367ecd30-aee5-f110-1d4d-ffe4c78adff1@3d-phenomen.fr> hi Bruce, Sorry, I saw my error just a little too late...the message was already sent :( As long as I didn't drink my coffee in the morning, I don't have very clear ideas :) Friendship Olivier Le 01/02/2021 ? 08:48, Bruce Steers a ?crit?: > > > On Mon, 1 Feb 2021 at 07:21, Olivier Coquet > wrote: > > Hello petter, > > what do you mean by socket component? > > are you talking about gb.net ? > > Also, I don't understand this line: > > ?MySock=NEW Socket AS "MySock" > > which should be: > > ?MySock=NEW Socket > > Because, in the class header there is : > > PUBLIC MySock AS Socket > > > No Oliver the code is correct. your statement "which should be" is > wrong though,? you appear to be ill-advising. > > To access the socket events like _Read the socket is named at creation > with 'As "MySocket"' > then a function like... > Public Sub MySocket_Read() becomes available. > Or.. > PUBLIC MySock As Socket? ' defines a socket object but does not create one > MySock = New Socket As "MyNewSocket"? '? creates the socket with a > reference name of MyNewSocket > with the above code MySocket_Read() event will not happen but > MyNewSocket_Read() will. > Do you understand? > > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From akrobaticone at gmail.com Mon Feb 1 12:16:54 2021 From: akrobaticone at gmail.com (Michele V.) Date: Mon, 1 Feb 2021 12:16:54 +0100 Subject: [Gambas-user] Serial number of CPU Message-ID: Hi for some particular application serial number of CPU is needed Actually is possible only by a shell commands Is possible to add this function in System class ? Thanks Michele ------------------------------------------------------------------------------------------------------------------------------------------- Io scrivo da UBUNTU GNU/LINUX -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 1 12:33:31 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 1 Feb 2021 12:33:31 +0100 Subject: [Gambas-user] Serial number of CPU In-Reply-To: References: Message-ID: <64dd0f56-a1c1-4bbd-9492-67f17485d19a@gmail.com> Le 01/02/2021 ? 12:16, Michele V. a ?crit?: > Hi > for some particular application serial number of CPU is needed > Actually is possible only by a shell commands > Is possible to add this function in System class ? > > Thanks > > Michele I don't think so: AFAIK there is no standard to get that information. And if a shell command allows you to get the information, just use it. Regards, -- Beno?t Minisini From rwe-sse at osnanet.de Mon Feb 1 13:35:51 2021 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Mon, 1 Feb 2021 13:35:51 +0100 Subject: [Gambas-user] Scripter gbs3 Change In-Reply-To: <847690516.1522.1612111576441.JavaMail.zimbra@westwoodsvcs.com> References: <1617512552.1394.1612082063472.JavaMail.zimbra@westwoodsvcs.com> <847690516.1522.1612111576441.JavaMail.zimbra@westwoodsvcs.com> Message-ID: You are right, I was reading too fast :) My scripts are simple, no functions included, if you mean that. Just some variables declared, then the program, no diving into functions, no jumping here and there. Hardly more than a bash script. I cannot post any of them as they are in the office, and I am mostly in home office these days. But you will know what I mean... ;) When I used functions etc., I would not consider this a script anymore. I would call it a commandline program, such as it is proposed in the project starting wizard of the IDE. So it is a standard Gambas application but without any graphics bindings. IMHO a script is something much more reduced, program text in the scope of one single main function only. So I guess I can let my scripts live happily... :) Regards Rolf Am 31.01.21 um 17:46 schrieb Brian G: > This will only effect script that use public variables and don't have > a main() defined, > > If you want to post the scripts or attach to email, we can have a look > before i do anything > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"Rolf-Werner Eilert" > *To: *"Gambas mailing list" > *Sent: *Sunday, January 31, 2021 2:37:44 PM > *Subject: *Re: [Gambas-user] Scripter gbs3 Change > > What about existing scripts when I update Gambas? > > I've got couple of scripts which are started by cronjobs and/or users, > will I have to work them all over, or will they continue to run? Would > be a whole lot of work otherwise. > > Regards > Rolf > > Am 31.01.21 um 09:34 schrieb Brian G: > > In Order to correctly process Public variables in a script it is > now required to include a > Public Sub main(). > In your script. > > Scripter will now throw an error if you define public variables > without also declaring a main(). > > Let me know if there are any objections to this change. It very > much simplifies Scripter. > > Thank You > Brian G > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 1 19:23:19 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 1 Feb 2021 18:23:19 +0000 Subject: [Gambas-user] gb.net.curl, can't figure out how to get a filesize before download Message-ID: Hi all. I got yet another Gambas upgrader on the way. Differences are this one does not use git or any other external commands outside of the gambas compile/install process. (oh except unzip as gb.compress only does single files not archives) Also it deals with no other branch/fork than the main gambas master or stable. Branch is manually selected as master or stable and gb.net.curl is used to download the archive, then unzip is used to extract the source folder. Planned to be the "Simple" upgrader , no git fancy stuff. just download the whole archive , install dependencies and then compile/install. I've hit a problem trying to do what i suspect is simple when you know how. I've figured out how to use HttpClient to start downloading the gambas zip and save the file reporting the bytes download as it does. But i tried reading the .Headers and other things to find the file size before downloading but cannot find anything like "content-length" or anything that looks like a file size where i get a list of headers. Is there any simple way to get the downloads total file size before or even during the download? Thanks for any help :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 1 19:27:45 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 1 Feb 2021 19:27:45 +0100 Subject: [Gambas-user] gb.net.curl, can't figure out how to get a filesize before download In-Reply-To: References: Message-ID: <207facf1-3172-7082-b8c3-b1153bcdca67@gmail.com> Le 01/02/2021 ? 19:23, Bruce Steers a ?crit?: > Hi all. > I got yet another Gambas upgrader on the way. > > Differences are this one does not use git or any other external commands > outside of the gambas compile/install process. (oh except unzip as > gb.compress only does single files not archives) > > Also it deals with no other branch/fork than the main gambas master or > stable. > Branch is manually selected as master or stable and gb.net.curl is used > to download the archive, then unzip is used to extract the source folder. > > Planned to be the "Simple" upgrader , no git fancy stuff. just download > the whole archive , install dependencies and then compile/install. > > I've hit a problem trying to do what i suspect is simple when you know how. > > I've figured out how to use HttpClient to start downloading the gambas > zip and save the file reporting the bytes download as it does. > > But i tried reading the .Headers and other things to find the file size > before downloading but cannot find anything like "content-length" or > anything that looks like a file size where i get a list of headers. > > Is there any simple way to get the downloads total file size before or > even during the download? > > Thanks for any help :) > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Content-Length is not a mandatory header. So if it is not present, you can't know by advance the size of the download. -- Beno?t Minisini From bsteers4 at gmail.com Mon Feb 1 20:22:14 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 1 Feb 2021 19:22:14 +0000 Subject: [Gambas-user] gb.net.curl, can't figure out how to get a filesize before download In-Reply-To: <207facf1-3172-7082-b8c3-b1153bcdca67@gmail.com> References: <207facf1-3172-7082-b8c3-b1153bcdca67@gmail.com> Message-ID: > Content-Length is not a mandatory header. So if it is not present, you > can't know by advance the size of the download. > > -- > Beno?t Minisini > aah , That explains it. I had got as far as reading the header list but didn't see the content-length so thought maybe there was another way. Thank you Ben :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Mon Feb 1 22:28:19 2021 From: adamnt42 at gmail.com (Bruce) Date: Tue, 2 Feb 2021 07:58:19 +1030 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: <20210128234121.GB225026@highrise.localdomain> References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> Message-ID: <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> On 29/1/21 10:11 am, Tobias Boege wrote: > On Fri, 29 Jan 2021, Bruce wrote: >> On 28/1/21 8:43 pm, Christof Thalhofer wrote: >>> Am 28.01.21 um 00:24 schrieb Bruce: >>> >>>> Attached is the source archive for a component that provides basic >>>> statistics functions, (renamedfrom .tar.gz to .txt to get around email >>>> issues). >>> >>> Despite then ending .txt the mail was bounced by all Gmail servers. >>> Noone with a Gmail account (most of the users here) got it. >>> >>> https://switching.software/replace/gmail/ >>> >> >> Any ideas how to send it? I have lost my farm password. >> b >> > > Putting it up on a public repository site and just pasting the link > in the email would work (and it would probably be the first step I > would do anyway if I were to work on that component). > > Best, > Tobias > I have created a gitlab project at https://gitlab.com/brucebruen/gb.statistics Is it useable? b From brian at westwoodsvcs.com Tue Feb 2 00:42:25 2021 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 1 Feb 2021 15:42:25 -0800 (PST) Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <1612152817.347988649@f24.my.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> Message-ID: <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> Will you update to include 'end class' as keywords? I did not understand from your response! Thank You Brian G From: "Brian" To: "Gambas mailing list" Sent: Sunday, January 31, 2021 8:13:37 PM Subject: Re: [Gambas-user] Highlight not working for script class definition Yes that is the idea! -- Thanks Brian Sunday, 31 January 2021, 06:58PM -08:00 from Beno?t Minisini [ mailto:g4mba5 at gmail.com | g4mba5 at gmail.com ] : Le 01/02/2021 ? 02:49, Brian G a ?crit : > I am not sure if this is a bug or a feature, but it would be nice if it > was fixed > > For Class definitions it would be nice if the highlighter recognized > CLASS as a keyword > > class Myclass > ....... > > END class <--- this is not recognized as a keyword I assume this should > be recognized.... > make it easier to parse. no need for upper(everything) and identified > correctly of course... > > Thank You > Brian G > > > ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- > OK, but you must the Highlight.Analyze() function to parse Gambas code, not do it yourself. -- Beno?t Minisini ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 2 01:31:36 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 2 Feb 2021 02:31:36 +0200 Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> Message-ID: - *ee50e979 * by gambas *at 2021-02-01T04:04:46+01:00* If the "class" word follows the "End" keyword, it is recognized as a keyword. [COMPILER] * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. [GB.EVAL] * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. - - - Jussi On Tue, Feb 2, 2021 at 1:53 AM Brian G wrote: > Will you update to include 'end class' as keywords? > I did not understand from your response! > > Thank You > Brian G > > ------------------------------ > *From: *"Brian" > *To: *"Gambas mailing list" > *Sent: *Sunday, January 31, 2021 8:13:37 PM > *Subject: *Re: [Gambas-user] Highlight not working for script class > definition > > Yes that is the idea! > > -- > Thanks > Brian > Sunday, 31 January 2021, 06:58PM -08:00 from Beno?t Minisini > g4mba5 at gmail.com: > > Le 01/02/2021 ? 02:49, Brian G a ?crit : > > I am not sure if this is a bug or a feature, but it would be nice if it > > was fixed > > > > For Class definitions it would be nice if the highlighter recognized > > CLASS as a keyword > > > > class Myclass > > ....... > > > > END class <--- this is not recognized as a keyword I assume this should > > be recognized.... > > make it easier to parse. no need for upper(everything) and identified > > correctly of course... > > > > Thank You > > Brian G > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > OK, but you must the Highlight.Analyze() function to parse Gambas code, > not do it yourself. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Feb 2 08:03:02 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 2 Feb 2021 08:03:02 +0100 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> Message-ID: <97045cf5-d260-7d9f-7afc-85e20783f044@deganius.de> Am 01.02.21 um 22:28 schrieb Bruce: > I have created a gitlab project at > https://gitlab.com/brucebruen/gb.statistics > > Is it useable? Yes. The repository can be cloned. 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 ocoquet at 3d-phenomen.fr Tue Feb 2 09:33:00 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 09:33:00 +0100 Subject: [Gambas-user] http component is ready but... Message-ID: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Hello everyone, I find myself in a dilemma. My http component is finally ready, I added a hacking detection algorithm that works well. I would like to distribute it but I found out that the installation packages include the sources, except if I distribute the sources, it is obvious that any badly intentioned parsonne will have the means to bypass this system which will endanger the security of the whole. My question is the following: In the installation package of a component, what is the file that is essential to install it? And can put on the gambas farm an installation package without the sources? friendship to all Olivier Coquet From kicking177 at gmail.com Tue Feb 2 09:46:25 2021 From: kicking177 at gmail.com (KKing) Date: Tue, 2 Feb 2021 08:46:25 +0000 Subject: [Gambas-user] gb.net.curl, can't figure out how to get a filesize, before download Message-ID: <0186173a-378b-6fbd-0610-14a5c7f45f44@gmail.com> will you ... can you .. do some hash check e.g. SHA or MD5 ? From brian at westwoodsvcs.com Tue Feb 2 09:39:44 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Tue, 02 Feb 2021 11:39:44 +0300 Subject: [Gambas-user] =?utf-8?q?http_component_is_ready_but=2E=2E=2E?= In-Reply-To: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: <1612255184.39406900@f13.my.com> So it is not open, source then. Difficult !! -- Thanks Brian Tuesday, 02 February 2021, 00:34AM -08:00 from Olivier Coquet ocoquet at 3d-phenomen.fr : >Hello everyone, > >I find myself in a dilemma. > >My http component is finally ready, I added a hacking detection >algorithm that works well. >I would like to distribute it but I found out that the installation >packages include the sources, except if I distribute the sources, it is >obvious that any badly intentioned parsonne will have the means to >bypass this system which will endanger the security of the whole. > >My question is the following: > >In the installation package of a component, what is the file that is >essential to install it? > >And can put on the gambas farm an installation package without the sources? > >friendship to all >Olivier Coquet > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Tue Feb 2 10:22:31 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 10:22:31 +0100 Subject: [Gambas-user] About class and components Message-ID: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> Another question about the components. How to access the class of a component loaded with: Component.Load("component name") ??? friendship Olivier Coquet From ocoquet at 3d-phenomen.fr Tue Feb 2 10:45:55 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 10:45:55 +0100 Subject: [Gambas-user] About class and components In-Reply-To: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> Message-ID: <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> Auto-Reply. First: Public cmp_comp As Component = Component.Load("component name") Second: CLASS *Classe_in_component* third: Public MyClass as *Classe_in_component* "Et voila". This can be usable to make component as a plugin loadable at runtime, because, The components present on the system are readable and loadable. You just have to use a little bit of rigor in the naming of the classes. For example: Component: *mycomponent* Class: *mycomponent_cls* This way, we are sure to know the class contained by the component. Frienchip Olivier Coquet Le 02/02/2021 ? 10:22, Olivier Coquet a ?crit?: > Another question about the components. > > How to access the class of a component loaded with: > > Component.Load("component name") > > ??? > friendship > Olivier Coquet > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Tue Feb 2 11:39:27 2021 From: hans at gambas-buch.de (Hans Lehmann) Date: Tue, 2 Feb 2021 11:39:27 +0100 Subject: [Gambas-user] About class and components In-Reply-To: <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> Message-ID: <4b52bc41-2efa-6da7-0697-b030d4b3d8f0@gambas-buch.de> Am 02.02.21 um 10:45 schrieb Olivier Coquet: > > First:? Public cmp_comp As Component = Component.Load("component name") > > Second: CLASS *Classe_in_component* > > third:? Public MyClass as *Classe_in_component* > > "Et voila". > Hello Oliver, I am also very interested in this question. However, I do not get along with the (self-given) answer. There surely only a small example project helps to understand it. Greetings Hans From gambas at cd-bahia.com Tue Feb 2 12:40:47 2021 From: gambas at cd-bahia.com (Dag Jarle Nerland Johansen - Gambas) Date: Tue, 2 Feb 2021 12:40:47 +0100 Subject: [Gambas-user] Question to SmtpClient Message-ID: Hi, is there any way to also receive mails with the SmtpClient? I didn't try it out, but see no command for that, only send. Is there any other component I can use to receive SMPT-mails? (POP3 I didn't look into, no option for me) Regards, Dag From tobs at taboege.de Tue Feb 2 12:50:13 2021 From: tobs at taboege.de (Tobias Boege) Date: Tue, 2 Feb 2021 12:50:13 +0100 Subject: [Gambas-user] About class and components In-Reply-To: <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> Message-ID: <20210202115013.GP225026@highrise.localdomain> On Tue, 02 Feb 2021, Olivier Coquet wrote: > Auto-Reply. > > First: > > Public cmp_comp As Component = Component.Load("component name") > > Second: > > CLASS *Classe_in_component* > > third: > > Public MyClass as *Classe_in_component* > > "Et voila". > There is another way using introspection. Once you loaded the component, its classes will be registered in the global symbol table (of classes). You can also obtain Class objects (not the Class syntax keyword that you used before) from the Classes class: ' Will find the class once its component is loaded Dim hClass As Class = Classes["Classe_in_component"] You cannot use this to declare variables using Public or Dim but those need a compile-time class name, but you can use this Class object to create new objects of that class nevertheless, at runtime: Dim hObj As Object = hClass.New([ any arguments go here ]) Just type your new object as an Object. Gambas will still resolve method calls and property accesses dynamically, even if hObj does not have the static type Classe_in_component. See the wiki [1] for what else you can do with a Class object. For plugins, what is better depends at least on whether: - there is a specific singular functionality that you put into a plugin because it is optional and would introduce a dependency that you don't want to put on everybody (e.g. your coffee machine gets an email notification plugin which requires the expensive filters with SMTP support), or - you have multiple plugins for the same functionality (e.g. audio codecs) that expose the same interface but where many can be loaded concurrently. In the first case, all the class names should be fixed and I think it would be more convenient to work with your first solution of forward- declaring the class at compile time. In the latter case, I would use introspection and keep interface Class objects around in a Collection of (audio) plugins over which you can iterate and ask each plugin if it knows what to do with a given file. Best, Tobias [1] http://gambaswiki.org/wiki/comp/gb/class -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bsteers4 at gmail.com Tue Feb 2 14:20:16 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 13:20:16 +0000 Subject: [Gambas-user] gb.net.curl, can't figure out how to get a filesize, before download In-Reply-To: <0186173a-378b-6fbd-0610-14a5c7f45f44@gmail.com> References: <0186173a-378b-6fbd-0610-14a5c7f45f44@gmail.com> Message-ID: Nah , I do not see any benefit in that. size/length is just non existent on the gambas archives. I just set the size manually to 16mb and will adjust it as it changes. On Tue, 2 Feb 2021 at 08:47, KKing wrote: > will you ... can you .. do some hash check e.g. SHA or MD5 ? > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 2 14:30:58 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 13:30:58 +0000 Subject: [Gambas-user] http component is ready but... In-Reply-To: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: On Tue, 2 Feb 2021 at 08:34, Olivier Coquet wrote: > Hello everyone, > > I find myself in a dilemma. > > My http component is finally ready, I added a hacking detection > algorithm that works well. > I would like to distribute it but I found out that the installation > packages include the sources, except if I distribute the sources, it is > obvious that any badly intentioned parsonne will have the means to > bypass this system which will endanger the security of the whole. > > My question is the following: > > In the installation package of a component, what is the file that is > essential to install it? > > And can put on the gambas farm an installation package without the sources? > Short answer, No you know the gambas executable is just an archive of the entire source folder yes? you may be heading towards an answer to your original question that was.. Why has nobody used gb.net to make a web server? possibly because there is apache and the like that are full of security features. And besides,, who is to trust you ? If you close your source so nobody can read it, nobody will use it. who's to say you don't have malicious code in there? Do you see? BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlie at cogier.com Tue Feb 2 13:54:18 2021 From: charlie at cogier.com (Charlie Ogier) Date: Tue, 2 Feb 2021 12:54:18 +0000 Subject: [Gambas-user] About class and components In-Reply-To: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> Message-ID: On 02/02/2021 09:22, Olivier Coquet wrote: > Another question about the components. > > How to access the class of a component loaded with: > > Component.Load("component name") > > ??? > friendship > Olivier Coquet > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Oliver, There is an example here. Charlie -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Tue Feb 2 14:59:46 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 14:59:46 +0100 Subject: [Gambas-user] About class and components In-Reply-To: References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> Message-ID: thank's, I look that. Olivier Le 02/02/2021 ? 13:54, Charlie Ogier a ?crit?: > > > On 02/02/2021 09:22, Olivier Coquet wrote: >> Another question about the components. >> >> How to access the class of a component loaded with: >> >> Component.Load("component name") >> >> ??? >> friendship >> Olivier Coquet >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Oliver, > > There is an example here. > > > Charlie > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Tue Feb 2 15:04:36 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 15:04:36 +0100 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> Le 02/02/2021 ? 14:30, Bruce Steers a ?crit?: > > > On Tue, 2 Feb 2021 at 08:34, Olivier Coquet > wrote: > > Hello everyone, > > I find myself in a dilemma. > > My http component is finally ready, I added a hacking detection > algorithm that works well. > I would like to distribute it but I found out that the installation > packages include the sources, except if I distribute the sources, > it is > obvious that any badly intentioned parsonne will have the means to > bypass this system which will endanger the security of the whole. > > My question is the following: > > In the installation package of a component, what is the file that is > essential to install it? > > And can put on the gambas farm an installation package without the > sources? > > > Short answer, No > you know the gambas executable is just an archive of the entire source > folder yes? > > you may be heading towards an answer to your original question that was.. > Why has nobody used gb.net to make a web server? > > possibly because there is apache and the like that are full of > security features. And is a strong soft, with strong configurations issues, with strong memory need,etc... I Know that, but, my goal is to made a simple way to make simple program communicate on web with simple peoples make it run :) > > And besides,,? who is to trust you ? > If you close your source so nobody can read it, nobody will use it. Windows system is not open source, and we can't say "nobody use it" :) > who's to say you don't have malicious code in there? Me :) > > Do you see? I see that Gambas can't be a solution for soft that need minimum security :) > BruceS > Thank's > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 2 15:25:48 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 15:25:48 +0100 Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <2a989c98-804a-e589-5dfb-ebda576900cc@gmail.com> Le 02/02/2021 ? 01:31, Jussi Lahtinen a ?crit?: > # *ee50e979 > * > > by gambas /at 2021-02-01T04:04:46+01:00/ > > If the "class" word follows the "End" keyword, it is recognized as a keyword. > > [COMPILER] > * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. > > [GB.EVAL] > * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. > > > Jussi > Indeed, I said that: > OK, but you must the Highlight.Analyze() function to parse > Gambas code, > not do it yourself. > Brian, what do you misunderstand in that sentences? -- Beno?t Minisini From ocoquet at 3d-phenomen.fr Tue Feb 2 15:44:56 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Tue, 2 Feb 2021 15:44:56 +0100 Subject: [Gambas-user] About class and components In-Reply-To: <20210202115013.GP225026@highrise.localdomain> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> <20210202115013.GP225026@highrise.localdomain> Message-ID: <6b08cde5-0510-861e-bd51-b6d2d5d50968@3d-phenomen.fr> Thank's Tobias, I've read all :) A misunderstood for me, why statics var are not accessible after instancing the class ? regards Olivier Le 02/02/2021 ? 12:50, Tobias Boege a ?crit?: > On Tue, 02 Feb 2021, Olivier Coquet wrote: >> Auto-Reply. >> >> First: >> >> Public cmp_comp As Component = Component.Load("component name") >> >> Second: >> >> CLASS *Classe_in_component* >> >> third: >> >> Public MyClass as *Classe_in_component* >> >> "Et voila". >> > There is another way using introspection. Once you loaded the component, > its classes will be registered in the global symbol table (of classes). > You can also obtain Class objects (not the Class syntax keyword that you > used before) from the Classes class: > > ' Will find the class once its component is loaded > Dim hClass As Class = Classes["Classe_in_component"] > > You cannot use this to declare variables using Public or Dim but those > need a compile-time class name, but you can use this Class object to > create new objects of that class nevertheless, at runtime: > > Dim hObj As Object = hClass.New([ any arguments go here ]) > > Just type your new object as an Object. Gambas will still resolve method > calls and property accesses dynamically, even if hObj does not have the > static type Classe_in_component. > > See the wiki [1] for what else you can do with a Class object. > > For plugins, what is better depends at least on whether: > > - there is a specific singular functionality that you put into a > plugin because it is optional and would introduce a dependency > that you don't want to put on everybody (e.g. your coffee machine > gets an email notification plugin which requires the expensive > filters with SMTP support), or > > - you have multiple plugins for the same functionality (e.g. > audio codecs) that expose the same interface but where many > can be loaded concurrently. > > In the first case, all the class names should be fixed and I think it > would be more convenient to work with your first solution of forward- > declaring the class at compile time. > > In the latter case, I would use introspection and keep interface Class > objects around in a Collection of (audio) plugins over which you can > iterate and ask each plugin if it knows what to do with a given file. > > Best, > Tobias > > [1] http://gambaswiki.org/wiki/comp/gb/class > From g4mba5 at gmail.com Tue Feb 2 15:46:08 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 15:46:08 +0100 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> Message-ID: Le 01/02/2021 ? 22:28, Bruce a ?crit?: > I have created a gitlab project at > https://gitlab.com/brucebruen/gb.statistics > > Is it useable? > b > A question: why didn't you ask to extend the gb.gsl component by providing interfaces to its statistics functions? https://www.gnu.org/software/gsl/doc/html/statistics.html -- Beno?t Minisini From brian at westwoodsvcs.com Tue Feb 2 16:52:45 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 07:52:45 -0800 (PST) Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <2a989c98-804a-e589-5dfb-ebda576900cc@gmail.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> <2a989c98-804a-e589-5dfb-ebda576900cc@gmail.com> Message-ID: <892658470.180.1612281165165.JavaMail.zimbra@westwoodsvcs.com> Sorry Ben, It was not clear from your comment if you were going to change it or if you agreed that it happened. My Mistaken misunderstanding. Thanks for implementing the change! Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 6:25:48 AM Subject: Re: [Gambas-user] Highlight not working for script class definition Le 02/02/2021 ? 01:31, Jussi Lahtinen a ?crit?: > # *ee50e979 > * > > by gambas /at 2021-02-01T04:04:46+01:00/ > > If the "class" word follows the "End" keyword, it is recognized as a keyword. > > [COMPILER] > * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. > > [GB.EVAL] > * NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword. > > > Jussi > Indeed, I said that: > OK, but you must the Highlight.Analyze() function to parse > Gambas code, > not do it yourself. > Brian, what do you misunderstand in that sentences? -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From bsteers4 at gmail.com Tue Feb 2 17:08:43 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 16:08:43 +0000 Subject: [Gambas-user] http component is ready but... In-Reply-To: <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> Message-ID: And can put on the gambas farm an installation package without the sources? >> > > Short answer, No > you know the gambas executable is just an archive of the entire source > folder yes? > > you may be heading towards an answer to your original question that was.. > Why has nobody used gb.net to make a web server? > > possibly because there is apache and the like that are full of security > features. > > And is a strong soft, with strong configurations issues, with strong > memory need,etc... > I Know that, but, my goal is to made a simple way to make simple program > communicate on web with simple peoples make it run :) > There are many security features / protocols available. Proper security (not a quick hack) is not a "simple" thing. If you want simple way for simple tool then keep it simple. > > And besides,, who is to trust you ? > If you close your source so nobody can read it, nobody will use it. > > Windows system is not open source, and we can't say "nobody use it" :) > I don't , I don't trust it. Windows is for the sheep , everybody here knows this, that's why we Linux instead ;) You cannot compare Linux to Windows at all. Windows is completely corporate based so yes, closed source, private code, copyrites and trust it if you want, make and pay the money. Linux is open source community based. If you're thinking , secrecy and maybe make some money then your probably better off with VisualBasic who's to say you don't have malicious code in there? > > Me :) > > > Do you see? > > I see that Gambas can't be a solution for soft that need minimum security > :) > It is if you want to implement "proper" security protocols and not just hack your way through.. ;) it's the same everywhere in the Linux world. The world of open source may not be the world for you my friend. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 2 17:08:15 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 08:08:15 -0800 (PST) Subject: [Gambas-user] Eval tokenizer Fails in some cases Message-ID: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> If eval highlight the following dim a as string = "sdsdfdsfdsfsd" "sdsdfdsfsddfdf" "sdfsdfsdfdsfdfd" as a single block everything is great! or if tokenize dim a as collection = [ "a":1, "b":2 ] this works fine as well but if tokenizing: if x = 1 then print x else print "no" endif this is what comes out of the tokenizer IF x = 1 THEN PRINT x lse PRINT "no" ndif Strangly if i add a random character in front of the block ie. if then else endif key words it works fine if x = 1 then Print x :else Print "no" :endif in this case it is parsed correctly and drops the : characters IF x = 1 THEN PRINT x ELSE PRINT "no" ENDIF Can this feature be corrected? Thank You Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Tue Feb 2 17:33:59 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 2 Feb 2021 17:33:59 +0100 Subject: [Gambas-user] Convert sepecial char into bas char Message-ID: Hi, Is there a way to simply convert special accentuated Characters into base ascii char ? ? to e ? to i ? to I etc. ? thanks -- Fabien Bodard From g4mba5 at gmail.com Tue Feb 2 17:54:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 17:54:21 +0100 Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <892658470.180.1612281165165.JavaMail.zimbra@westwoodsvcs.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> <2a989c98-804a-e589-5dfb-ebda576900cc@gmail.com> <892658470.180.1612281165165.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <5f037c4d-ed5b-e07d-b7fe-10d7cc36f696@gmail.com> Le 02/02/2021 ? 16:52, Brian G a ?crit : > Sorry Ben, It was not clear from your comment if you were going to > change it or if you agreed that it happened. It's almost the same thing. :-) On your side, did you agree that you must use Highlght.Analyze() to analyze Gambas code, and not do it "by hand"? -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 2 17:55:20 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 17:55:20 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Le 02/02/2021 ? 17:08, Brian G a ?crit?: > If eval highlight the following > > dim a as string = "sdsdfdsfdsfsd" > ? ? ? ? ? ? ? ? ? ? ? ? ? ?"sdsdfdsfsddfdf" > ? ? ? ? ? ? ? ? ? ? ? ? ? ?"sdfsdfsdfdsfdfd" > as a single block everything is great! > > or if tokenize > dim a as collection = [ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"a":1, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"b":2 > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?] > this works fine as well > but if tokenizing: > ... Please provide a project that reproduces the bug. -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 2 17:56:56 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 17:56:56 +0100 Subject: [Gambas-user] Convert sepecial char into bas char In-Reply-To: References: Message-ID: Le 02/02/2021 ? 17:33, Fabien Bodard a ?crit?: > Hi, > > Is there a way to simply convert special accentuated Characters into > base ascii char ? > > ? to e > ? to i > ? to I > > etc. ? > > thanks > The String.RemoveDiacritics() function in 'gb.util'. -- Beno?t Minisini From bagonergi at gmail.com Tue Feb 2 17:56:49 2021 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 2 Feb 2021 17:56:49 +0100 Subject: [Gambas-user] Convert sepecial char into bas char In-Reply-To: References: Message-ID: Il giorno mar 2 feb 2021 alle ore 17:35 Fabien Bodard ha scritto: > Hi, > > Is there a way to simply convert special accentuated Characters into > base ascii char ? > > ? to e > ? to i > ? to I > > etc. ? > > thanks > > -- > Fabien Bodard > http://gambaswiki.org/wiki/comp/gb.util/string/removediacritics Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 2 18:29:23 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 09:29:23 -0800 (PST) Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> Attached is a project which will reproduce the bug. I hope it is clear.. There is an included data area file which is parsed. Happy day, Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 8:55:20 AM Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases Le 02/02/2021 ? 17:08, Brian G a ?crit?: > If eval highlight the following > > dim a as string = "sdsdfdsfdsfsd" > ? ? ? ? ? ? ? ? ? ? ? ? ? ?"sdsdfdsfsddfdf" > ? ? ? ? ? ? ? ? ? ? ? ? ? ?"sdfsdfsdfdsfdfd" > as a single block everything is great! > > or if tokenize > dim a as collection = [ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"a":1, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"b":2 > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?] > this works fine as well > but if tokenizing: > ... Please provide a project that reproduces the bug. -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: testmakecomp-0.1.8.tar.gz Type: application/x-compressed-tar Size: 12987 bytes Desc: not available URL: From brian at westwoodsvcs.com Tue Feb 2 18:41:46 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 09:41:46 -0800 (PST) Subject: [Gambas-user] Highlight not working for script class definition In-Reply-To: <5f037c4d-ed5b-e07d-b7fe-10d7cc36f696@gmail.com> References: <760203532.1814.1612144171031.JavaMail.zimbra@westwoodsvcs.com> <1612152817.347988649@f24.my.com> <328395512.67.1612222944987.JavaMail.zimbra@westwoodsvcs.com> <2a989c98-804a-e589-5dfb-ebda576900cc@gmail.com> <892658470.180.1612281165165.JavaMail.zimbra@westwoodsvcs.com> <5f037c4d-ed5b-e07d-b7fe-10d7cc36f696@gmail.com> Message-ID: <909507613.455.1612287706807.JavaMail.zimbra@westwoodsvcs.com> Yes I agreed hat I would, of course. Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 8:54:21 AM Subject: Re: [Gambas-user] Highlight not working for script class definition Le 02/02/2021 ? 16:52, Brian G a ?crit : > Sorry Ben, It was not clear from your comment if you were going to > change it or if you agreed that it happened. It's almost the same thing. :-) On your side, did you agree that you must use Highlght.Analyze() to analyze Gambas code, and not do it "by hand"? -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From brian at westwoodsvcs.com Tue Feb 2 19:05:43 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 10:05:43 -0800 (PST) Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> Message-ID: <1664845474.696.1612289143195.JavaMail.zimbra@westwoodsvcs.com> Oliver C, Why not open source the project, Every project in linux it's self is open source and I believe Apache is also open source.... What happens if some person impersonates your install, we have no way to verify the source. What happens if you die...... where are we all when we can not fix anything. It is not just a trust thing, it is a practical thing, You are just you, not a huge company that will continue after your gone. There is no point using something for a serious project if there will be no reliable future for it. I think you believe that your code is better than the collective project Apache has become, and which is used and relied upon by many projects huge and small. It may well be a true statement but how do we evaluate that. Exposing your code to scrutiny and the judgement of other is extremely educational, satisfying and occasionally mortifying...lol If the code you have developed is truly secure then lets all review it, but if you feel that it can be hacked, is it truly a secure solution for your web server.... umm I don't really think so... Hackers are a very persistent lot! And know more about the web than most of us will truly understand.... So I would encourage you to share and expand what you have put so much work into creating! Contribute it to this amazing gambas community that Ben has created. It is an amazing open source project. We have all benefited from it in many ways. Contribution and support is something we can all do for this community! cheers Brian G From: "Bruce Steers" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 8:08:43 AM Subject: Re: [Gambas-user] http component is ready but... BQ_BEGIN BQ_BEGIN And can put on the gambas farm an installation package without the sources? Short answer, No you know the gambas executable is just an archive of the entire source folder yes? you may be heading towards an answer to your original question that was.. Why has nobody used [ http://gb.net/ | gb.net ] to make a web server? possibly because there is apache and the like that are full of security features. BQ_END And is a strong soft, with strong configurations issues, with strong memory need,etc... I Know that, but, my goal is to made a simple way to make simple program communicate on web with simple peoples make it run :) BQ_END There are many security features / protocols available. Proper security (not a quick hack) is not a "simple" thing. If you want simple way for simple tool then keep it simple. BQ_BEGIN BQ_BEGIN And besides,, who is to trust you ? If you close your source so nobody can read it, nobody will use it. BQ_END Windows system is not open source, and we can't say "nobody use it" :) BQ_END I don't , I don't trust it. Windows is for the sheep , everybody here knows this, that's why we Linux instead ;) You cannot compare Linux to Windows at all. Windows is completely corporate based so yes, closed source, private code, copyrites and trust it if you want, make and pay the money. Linux is open source community based. If you're thinking , secrecy and maybe make some money then your probably better off with VisualBasic BQ_BEGIN BQ_BEGIN who's to say you don't have malicious code in there? BQ_END Me :) BQ_BEGIN Do you see? BQ_END I see that Gambas can't be a solution for soft that need minimum security :) BQ_END It is if you want to implement "proper" security protocols and not just hack your way through.. ;) it's the same everywhere in the Linux world. The world of open source may not be the world for you my friend. BruceS ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 2 19:22:53 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 2 Feb 2021 20:22:53 +0200 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: > > you know the gambas executable is just an archive of the entire source > folder yes? > That is not true. Gambas executable contains the source code translated into bytecode. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 2 19:28:45 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 2 Feb 2021 20:28:45 +0200 Subject: [Gambas-user] http component is ready but... In-Reply-To: <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> <9708cc53-31f2-a20c-f564-e9a8fc9a2a3f@3d-phenomen.fr> Message-ID: > > I see that Gambas can't be a solution for soft that need minimum security > :) > > No no and million times no. No intention to offend, but this clearly reveals the fact that you do *not* know how to implement secure code. Secure by secret, has never worked and it is a horrible mistake. That is the reason why Linux is more secure, than Windows. Even banks use open protocols for securing the connections. Security must rely on math to be secure in the real world. Obfuscation can only slow the hackers, not prevent them. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 2 19:41:13 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 18:41:13 +0000 Subject: [Gambas-user] New Simple Gambas updater Message-ID: As previously mentioned I have yet another Updater for gambas. https://gitlab.com/bsteers4/gambassimpleupgrade How this one differs.. This is the very simplified version. It does not use git or support any git functions like branch switching as does the other app i made. This is much much less complicated, Aimed at the user who does not understand git or want to. It offers the choice of stable or master gambas version. It simply uses gb.net.curl to download the zip archive of your choice and then unzips the gambas-master or gambas-stable folder to selected dir (defaults to home dir) By default with no altering settings just pressing Next on the Wizard it should download and unpack gambas-stable folder, install any missing dependencies then compile and install. Have tested it working on ubuntu debian and suse and fedora I'll add it to the "tools to help compiling" wiki page. *Possibly it could do with people who know better to do better to it ?* I'm not looking for personal credit for doing this. I'm looking to make upgrading Gambas as easy as can be for users so they can update and use my apps made on the later gambas versions. I'm trying to get the app as simple as possible so it will be bulletproof and stable enough to possibly be adopted by the gambas team and made even better? Known bugs/quirks. Fedora will show missing dependencies if there are upgrades, auto-install fails to 'install' the 'upgrade' but everything still works. run dnf update to fix. That's all i can think of. You tell me.. bsteers4 at gmail.com https://gitlab.com/bsteers4/gambassimpleupgrade/-/blob/master/README.md All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Feb 2 20:05:21 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 2 Feb 2021 20:05:21 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <40753488-fd04-4dc2-26fe-2a8efd476258@deganius.de> Am 02.02.21 um 18:29 schrieb Brian G: > Attached is a project which will reproduce the bug. I hope it is clear.. > > There is an included data area file which is parsed. Your mail was bounced by all Gmail servers. Noone with a Gmail account (most of the users here) got it. https://switching.software/replace/gmail/ 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 tobs at taboege.de Tue Feb 2 20:41:52 2021 From: tobs at taboege.de (Tobias Boege) Date: Tue, 2 Feb 2021 20:41:52 +0100 Subject: [Gambas-user] About class and components In-Reply-To: <6b08cde5-0510-861e-bd51-b6d2d5d50968@3d-phenomen.fr> References: <78fa150f-81e6-53f3-66d7-3e8ccec7cb76@3d-phenomen.fr> <1879137b-0674-6f4b-92ac-c292a0a9d1fb@3d-phenomen.fr> <20210202115013.GP225026@highrise.localdomain> <6b08cde5-0510-861e-bd51-b6d2d5d50968@3d-phenomen.fr> Message-ID: <20210202194152.GQ225026@highrise.localdomain> On Tue, 02 Feb 2021, Olivier Coquet wrote: > Thank's Tobias, I've read all :) > > A misunderstood for me, why statics var are not accessible after instancing > the class ? > Not static variables but static typing of variables. You cannot just write Component.Load("thecomponent") ' loads myclass Dim x As myclass ' error: "myclass" not found or Component.Load("thecomponent") Dim c As Class = Classes["myclass"] Dim x As c ' error: still not found, as a c is just some runtime object ' but variable declaration wants to know "c" at compile time because the right-hand side of the "As" in a variable declaration must be a word known at compile time as a class. You can do this as you first did by forward-declaring the word as a class that "will be supplied later". My point was that you do not need to do this at all. You can instantiate a dynamically loaded class into a variable with a generic Object or Variant type. You don't need the static type: Component.Load("thecomponent") Dim c As Class = Classes["myclass"] Dim x As Object = c.New() ' OK Above, even though the Object class has no methods, if you call methods of the myclass class on x, it will work, because Gambas looks at the actual type of an object to resolve methods, not at the type of a variable holding the object. Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From chrisml at deganius.de Tue Feb 2 20:53:13 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 2 Feb 2021 20:53:13 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <22511493-17d7-98da-718f-af5558d56795@deganius.de> Am 02.02.21 um 18:29 schrieb Brian G: > Attached is a project which will reproduce the bug. I hope it is clear.. Your mail was bounced by all Gmail servers. Noone with a Gmail account (most of the users here) got it. https://switching.software/replace/gmail/ 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 brian at westwoodsvcs.com Tue Feb 2 20:50:15 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 11:50:15 -0800 (PST) Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: References: Message-ID: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> BruceS, Does this work or raspi-os as well? Thank You Brian G From: "Bruce Steers" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 10:41:13 AM Subject: [Gambas-user] New Simple Gambas updater As previously mentioned I have yet another Updater for gambas. [ https://gitlab.com/bsteers4/gambassimpleupgrade | https://gitlab.com/bsteers4/gambassimpleupgrade ] How this one differs.. This is the very simplified version. It does not use git or support any git functions like branch switching as does the other app i made. This is much much less complicated, Aimed at the user who does not understand git or want to. It offers the choice of stable or master gambas version. It simply uses gb.net.curl to download the zip archive of your choice and then unzips the gambas-master or gambas-stable folder to selected dir (defaults to home dir) By default with no altering settings just pressing Next on the Wizard it should download and unpack gambas-stable folder, install any missing dependencies then compile and install. Have tested it working on ubuntu debian and suse and fedora I'll add it to the "tools to help compiling" wiki page. Possibly it could do with people who know better to do better to it ? I'm not looking for personal credit for doing this. I'm looking to make upgrading Gambas as easy as can be for users so they can update and use my apps made on the later gambas versions. I'm trying to get the app as simple as possible so it will be bulletproof and stable enough to possibly be adopted by the gambas team and made even better? Known bugs/quirks. Fedora will show missing dependencies if there are upgrades, auto-install fails to 'install' the 'upgrade' but everything still works. run dnf update to fix. That's all i can think of. You tell me.. [ mailto:bsteers4 at gmail.com | bsteers4 at gmail.com ] [ https://gitlab.com/bsteers4/gambassimpleupgrade/-/blob/master/README.md | https://gitlab.com/bsteers4/gambassimpleupgrade/-/blob/master/README.md ] All the best BruceS ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 2 20:51:45 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 11:51:45 -0800 (PST) Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> References: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1269907819.757.1612295505492.JavaMail.zimbra@westwoodsvcs.com> One more question will it do a fresh install as well? Thank You Brian G ----- Original Message ----- From: "Brian" To: "Gambas mailing list" Subject: Re: [Gambas-user] New Simple Gambas updater From t.lee.davidson at gmail.com Tue Feb 2 21:28:26 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 2 Feb 2021 15:28:26 -0500 Subject: [Gambas-user] Question to SmtpClient In-Reply-To: References: Message-ID: On 2/2/21 6:40 AM, Dag Jarle Nerland Johansen - Gambas wrote: > Hi, > is there any way to also receive mails with the SmtpClient? > I didn't try it out, but see no command for that, only send. > Is there any other component I can use to receive SMPT-mails? > (POP3 I didn't look into, no option for me) > Regards, > Dag No. SmtpClient is a client not a server. If you need a server, you would have to create your own using the Socket class. -- Lee From bsteers4 at gmail.com Tue Feb 2 21:32:32 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 20:32:32 +0000 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: I was under the impression it contained the entire folder? I'm sure I read that on the wiki somewhere. ? But I've been known to be wrong about stuff (that one time) ? So is the source not included in the exe? On Tue, 2 Feb 2021, 19:26 Jussi Lahtinen, wrote: > you know the gambas executable is just an archive of the entire source >> folder yes? >> > > That is not true. Gambas executable contains the source code translated > into bytecode. > > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 2 22:06:38 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 22:06:38 +0100 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: <7ed06c3f-e059-f9fb-2e29-53f30b4d4a4c@gmail.com> Le 02/02/2021 ? 21:32, Bruce Steers a ?crit?: > I was under the impression it contained the entire folder? > I'm sure I read that on the wiki somewhere. ? > > But I've been known to be wrong about stuff (that one time) ? > > So is the source not included in the exe? > Of course not. Everything that is not needed to run the project is not put into the executable. -- Beno?t Minisini From jussi.lahtinen at gmail.com Tue Feb 2 22:10:28 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 2 Feb 2021 23:10:28 +0200 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: > > I was under the impression it contained the entire folder? > I'm sure I read that on the wiki somewhere. ? > You confuse between the data and the source code. The data is put into the executable. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 2 22:15:38 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 21:15:38 +0000 Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: <1269907819.757.1612295505492.JavaMail.zimbra@westwoodsvcs.com> References: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> <1269907819.757.1612295505492.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Yes to both. If repo gambas is installed it is detected and removes it prior to running make install. (So you still have gambas if compilation fails) If a compiled gambas is installed there is an option to run 'make uninstall' but does not do that by default. Deviations/additions from the official list in gitlab-ci are Mint, Raspbian and Manjaro. Others could be added, there is internal functions to easy add/remove packages from the list or add a ,/configure --disable-component of choice. I've not tested the raspbian stuff yet but its adapted from the script so should be okay. There was something I couldn't get working with qt5 webkit so it's disabled. Am at work so cannot test anything till later. Wishing well. BruceS On Tue, 2 Feb 2021, 20:59 Brian G, wrote: > One more question will it do a fresh install as well? > > Thank You > Brian G > > ----- Original Message ----- > From: "Brian" > To: "Gambas mailing list" > Subject: Re: [Gambas-user] New Simple Gambas updater > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Tue Feb 2 22:23:47 2021 From: adamnt42 at gmail.com (Bruce) Date: Wed, 3 Feb 2021 07:53:47 +1030 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> Message-ID: On 3/2/21 1:16 am, Beno?t Minisini wrote: > Le 01/02/2021 ? 22:28, Bruce a ?crit?: >> I have created a gitlab project at >> https://gitlab.com/brucebruen/gb.statistics >> >> Is it useable? >> b >> > > A question: why didn't you ask to extend the gb.gsl component by > providing interfaces to its statistics functions? > > https://www.gnu.org/software/gsl/doc/html/statistics.html > Several reasons, but mainly that it is pure Gambas, no external calls. In fact I started that way but it was quicker to write the functions than work out the interfacing parameters. b From bsteers4 at gmail.com Tue Feb 2 22:35:52 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 21:35:52 +0000 Subject: [Gambas-user] http component is ready but... In-Reply-To: <7ed06c3f-e059-f9fb-2e29-53f30b4d4a4c@gmail.com> References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> <7ed06c3f-e059-f9fb-2e29-53f30b4d4a4c@gmail.com> Message-ID: Aah, yes that makes sense. I think i misread. On Tue, 2 Feb 2021, 21:07 Beno?t Minisini, wrote: > Le 02/02/2021 ? 21:32, Bruce Steers a ?crit : > > I was under the impression it contained the entire folder? > > I'm sure I read that on the wiki somewhere. ? > > > > But I've been known to be wrong about stuff (that one time) ? > > > > So is the source not included in the exe? > > > > Of course not. Everything that is not needed to run the project is not > put into the executable. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 2 22:39:24 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 21:39:24 +0000 Subject: [Gambas-user] http component is ready but... In-Reply-To: References: <11fa5755-7472-e02f-8701-8c4c2b098cb1@3d-phenomen.fr> Message-ID: Yes I did misunderstand something i read. My apologies and thank for correcting me. <- does the walk of shame ? On Tue, 2 Feb 2021, 21:11 Jussi Lahtinen, wrote: > I was under the impression it contained the entire folder? >> I'm sure I read that on the wiki somewhere. ? >> > > You confuse between the data and the source code. The data is put into the > executable. > > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 2 23:08:06 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 14:08:06 -0800 (PST) Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <22511493-17d7-98da-718f-af5558d56795@deganius.de> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> Message-ID: <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> Did Benoit Get it? Thank You Brian G ----- Original Message ----- From: "Christof Thalhofer" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 11:53:13 AM Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases Am 02.02.21 um 18:29 schrieb Brian G: > Attached is a project which will reproduce the bug. I hope it is clear.. Your mail was bounced by all Gmail servers. Noone with a Gmail account (most of the users here) got it. https://switching.software/replace/gmail/ Alles Gute Christof Thalhofer -- Dies ist keine Signatur ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From g4mba5 at gmail.com Tue Feb 2 23:23:07 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 23:23:07 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <9b9786a9-f7e5-0f42-698c-73eea174d57e@gmail.com> Le 02/02/2021 ? 23:08, Brian G a ?crit?: > > Did Benoit > > Get it? > > Thank You > Brian G > No. You must send a download link, or send the archive to my own mail. @Christof: I don't remember if ZIP files are blocked par Google like TAR files... -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 2 23:23:14 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 Feb 2021 22:23:14 +0000 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> Message-ID: He has a gmail address so probably not m8. I'd post it via bugtracker. On Tue, 2 Feb 2021, 22:19 Brian G, wrote: > > Did Benoit > > Get it? > > Thank You > Brian G > > ----- Original Message ----- > From: "Christof Thalhofer" > To: "Gambas mailing list" > Sent: Tuesday, February 2, 2021 11:53:13 AM > Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases > > Am 02.02.21 um 18:29 schrieb Brian G: > > > Attached is a project which will reproduce the bug. I hope it is clear.. > > Your mail was bounced by all Gmail servers. Noone with a Gmail account > (most of the users here) got it. > > https://switching.software/replace/gmail/ > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 2 23:26:00 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 14:26:00 -0800 (PST) Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <124182315.987.1612304760347.JavaMail.zimbra@westwoodsvcs.com> Ok I attach a scripter file and input text file for the script to tokenize. both as simple text files. Put both on desktop and run in terminal Thank You Brian G ----- Original Message ----- From: "Brian" To: "Gambas mailing list" Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases -------------- next part -------------- A non-text attachment was scrubbed... Name: testparser Type: application/octet-stream Size: 1072 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DemoParse.gbs Type: application/octet-stream Size: 603 bytes Desc: not available URL: From g4mba5 at gmail.com Tue Feb 2 23:45:34 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 2 Feb 2021 23:45:34 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <124182315.987.1612304760347.JavaMail.zimbra@westwoodsvcs.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> <124182315.987.1612304760347.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <11bf024e-b8cf-4e19-27cf-6d3846ef231b@gmail.com> Le 02/02/2021 ? 23:26, Brian G a ?crit?: > Ok I attach a scripter file and input text file for the script to tokenize. > > both as simple text files. > > Put both on desktop and run in terminal > Thank You > Brian G > > ----- Original Message ----- > From: "Brian" > To: "Gambas mailing list" > Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Why don't you use the bugtracker for reporting bugs? -- Beno?t Minisini From brian at westwoodsvcs.com Tue Feb 2 23:48:31 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 2 Feb 2021 14:48:31 -0800 (PST) Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <11bf024e-b8cf-4e19-27cf-6d3846ef231b@gmail.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> <124182315.987.1612304760347.JavaMail.zimbra@westwoodsvcs.com> <11bf024e-b8cf-4e19-27cf-6d3846ef231b@gmail.com> Message-ID: <666163484.1023.1612306111026.JavaMail.zimbra@westwoodsvcs.com> Was not sure this was a bug or something that needed updated. will post the bug. Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 2, 2021 2:45:34 PM Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases Le 02/02/2021 ? 23:26, Brian G a ?crit?: > Ok I attach a scripter file and input text file for the script to tokenize. > > both as simple text files. > > Put both on desktop and run in terminal > Thank You > Brian G > > ----- Original Message ----- > From: "Brian" > To: "Gambas mailing list" > Subject: Re: [Gambas-user] Eval tokenizer Fails in some cases > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Why don't you use the bugtracker for reporting bugs? -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adsicks at gmail.com Wed Feb 3 00:01:37 2021 From: adsicks at gmail.com (adsicks) Date: Tue, 02 Feb 2021 17:01:37 -0600 Subject: [Gambas-user] http component is ready but... In-Reply-To: Message-ID: <6019d9d2.1c69fb81.48a67.08b9@mx.google.com> HvhH. bbH?B? h b.? bihhcvkhnoPowered by Cricket Wireless -------- Original message --------From: Bruce Steers Date: 2/2/21 3:36 PM (GMT-06:00) To: Gambas Mailing List Subject: Re: [Gambas-user] http component is ready but... Aah, yes that makes sense.I think i misread.On Tue, 2 Feb 2021, 21:07 Beno?t Minisini, wrote:Le 02/02/2021 ? 21:32, Bruce Steers a ?crit?: > I was under the impression it contained the entire folder? > I'm sure I read that on the wiki somewhere. ? > > But I've been known to be wrong about stuff (that one time) ? > > So is the source not included in the exe? > Of course not. Everything that is not needed to run the project is not put into the executable. -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From SoftwareDevelopment at smartsonsite.com Tue Feb 2 23:45:00 2021 From: SoftwareDevelopment at smartsonsite.com (Stephen Bungay) Date: Tue, 2 Feb 2021 17:45:00 -0500 Subject: [Gambas-user] Listbox click event... Message-ID: ? Anybody ever have trouble with the listbox click event not firing? I've got a populated list, and neither the click or mousemove events fire. Very strange. GAMBAS : 3.15.2 Mint 19 (Tara) From chrisml at deganius.de Wed Feb 3 00:03:35 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 3 Feb 2021 00:03:35 +0100 Subject: [Gambas-user] Eval tokenizer Fails in some cases In-Reply-To: <9b9786a9-f7e5-0f42-698c-73eea174d57e@gmail.com> References: <2031442908.386.1612282095721.JavaMail.zimbra@westwoodsvcs.com> <1242242539.447.1612286963605.JavaMail.zimbra@westwoodsvcs.com> <22511493-17d7-98da-718f-af5558d56795@deganius.de> <1586651131.917.1612303686090.JavaMail.zimbra@westwoodsvcs.com> <9b9786a9-f7e5-0f42-698c-73eea174d57e@gmail.com> Message-ID: Am 02.02.21 um 23:23 schrieb Beno?t Minisini: > No. You must send a download link, or send the archive to my own mail. > > @Christof: I don't remember if ZIP files are blocked par Google like TAR > files... Yes *.zip are blocked also, as well as *.tar.gz renamed to *.txt (randomly). This is sad because we don't have the files in the archive if people store them in binary pastebins or Gitlab. Regarding bugs we should use the bugtracker, there the files will be stored forever. 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 Wed Feb 3 00:46:02 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 2 Feb 2021 18:46:02 -0500 Subject: [Gambas-user] Listbox click event... In-Reply-To: References: Message-ID: <7e5a62aa-589b-5cd2-e7b4-14844e7642c6@gmail.com> On 2/2/21 5:45 PM, Stephen Bungay wrote: > ? Anybody ever have trouble with the listbox click event not firing? I've got a populated list, and neither the click or > mousemove events fire. Very strange. > > GAMBAS : 3.15.2 > Mint 19 (Tara) Both Click and MouseMove work for me here. [System] Gambas=3.15.2 OperatingSystem=Linux Kernel=4.12.14-lp151.28.91-default Architecture=x86_64 Distribution=openSUSE Leap 15.1 Desktop=KDE5 Theme=breeze -- Lee From bsteers4 at gmail.com Wed Feb 3 03:11:36 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 Feb 2021 02:11:36 +0000 Subject: [Gambas-user] Listbox click event... In-Reply-To: References: Message-ID: I've had ,, hmm lets say oddities, I cannot remember what, i think to do with using keyboard not triggering clicks so I generally use the _Select() event rather than the _Click() event because of this. As for MouseMove() I assume you have enabled the Tracking property? BruceS On Tue, 2 Feb 2021 at 23:04, Stephen Bungay < SoftwareDevelopment at smartsonsite.com> wrote: > Anybody ever have trouble with the listbox click event not firing? > I've got a populated list, and neither the click or mousemove events > fire. Very strange. > > GAMBAS : 3.15.2 > Mint 19 (Tara) > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 3 06:11:03 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 Feb 2021 05:11:03 +0000 Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> References: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> Message-ID: On Tue, 2 Feb 2021 at 20:56, Brian G wrote: > BruceS, > > Does this work or raspi-os as well? > > Thank You > Brian G > It does now ;) I got to test it on a freshly installed raspberry 4 using raspbians packager supplied gambas 3.12. The 3.12 TeminalView kicked up some issues so i imported the 3.15 one into the app. also downloads were freezing so I increased the read length to the default curl 16k and that fixed that. It's now running in the background just fine as i speak.... the webkit problem i mentioned is that qtwebengine5-dev is not on the raspbian repository, it fails with not finding the Qt5WebEngineWidgets so the app removes the package from the list and disables gb.qt5.webview (like in debian testing) hoping to find another way. All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Wed Feb 3 10:08:30 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 3 Feb 2021 10:08:30 +0100 Subject: [Gambas-user] http component is ready but... In-Reply-To: <6019d9d2.1c69fb81.48a67.08b9@mx.google.com> References: <6019d9d2.1c69fb81.48a67.08b9@mx.google.com> Message-ID: Am 03.02.21 um 00:01 schrieb adsicks: > HvhH. bb > H? > B? h b.? bihhcvkhno > Powered by Cricket Wireless What's that? 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 ocoquet at 3d-phenomen.fr Wed Feb 3 10:22:48 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Wed, 3 Feb 2021 10:22:48 +0100 Subject: [Gambas-user] http component and strong Reaction Message-ID: Hello everyone, I'm sorry that my question about the release of a component caused such a strong reaction. I was just asking myself a question, my intention was not to create a polemic. As to whether I intend to make money with my development, the answer is no for the http-server component and yes for other developments that are intended for particular users with a real need and no development knowledge (Domopi product in development). For the http component, I don't pretend to do better or as good as Apache, but to make it simpler for non competent users. My reflection on Windows was a provocation (sorry Bruce) and was not intended to trigger a general outcry. To close this discussion, I've been using Linux for 25 years now and I largely participated in its development, it's a product I believe in. And chances are that each of you is unknowingly using pieces of my (volunteer) work. Last but not least, since I posted the source code of my http component on the Farm, my test server has been under regular attack on points that only knowledge of the source code can justify, hence my initial question. Friendship to all Olivier Coquet Translated with www.DeepL.com/Translator (free version) From bsteers4 at gmail.com Wed Feb 3 14:53:22 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 Feb 2021 13:53:22 +0000 Subject: [Gambas-user] http component and strong Reaction In-Reply-To: References: Message-ID: On Wed, 3 Feb 2021 at 09:24, Olivier Coquet wrote: > Hello everyone, > > I'm sorry that my question about the release of a component caused such > a strong reaction. > Some of us are just strong, it's how we react ;) I was just asking myself a question, my intention was not to create a > polemic. > Should asking "yourself" a question involve a mailing list? ;) No you posted your question to a group of people and got a group of responses. Such is the life we must deal with. > As to whether I intend to make money with my development, the answer is > no for the http-server component and yes for other developments that are > intended for particular users with a real need and no development > knowledge (Domopi product in development). > I think if you go by the amount of response and interest you have had in your server it's probably for the best ;) > For the http component, I don't pretend to do better or as good as > Apache, but to make it simpler for non competent users. > > My reflection on Windows was a provocation (sorry Bruce) and was not > intended to trigger a general outcry. > General outcry? i think you are over-bloating things here. I said my piece, you got a bit of sarcasm from me that ramped up a little when you dissed gambas (i'm like that) and you had an awesome reply from BrianG that even inspired me, you should respond to that post not what I said :) > To close this discussion, I've been using Linux for 25 years now and I > largely participated in its development, it's a product I believe in. > And chances are that each of you is unknowingly using pieces of my > (volunteer) work. > ooh, what parts of Linux itself did you largely help develop? Last but not least, since I posted the source code of my http component > on the Farm, my test server has been under regular attack on points that > only knowledge of the source code can justify, hence my initial question. > hmm , have you tried Apache2 ? i think it has proper security features ;) :p (hehe sorry, i had to say it because it was funny ;) ) So what you are saying here is that some person or persons have taken your code from the farm and dissected it and they are now "regularly" trying to hack your computer? That is really not good at all. You appear to be quite a victim :( I hope your server is logging the IP addresses from these attacks and you are reporting them. Anyway... Suck it up Oliver , take it like a man , we're all friends here. Only we're coders so more like having Vulcan friends where emotion does not quite win over logic. This aint facebook you know. My comments about making the money was less a personal query and more about the general linux vibe. All of Linux being free, built on code that people have written for free, and openly. this is just the Linux way unlike the Window$ way. And not too relevant to your reason for wanting closed source, just another reason for it, sorry to confuse an issue. Sorry for any upset but I'm the type of person who says things how i see it, not sugar coat things like i'm talking to an over-sensitive woman. (see, that last sentence both explained and demonstrated at the same time) But don't over-react fella, have a laugh, there's always a funny side. What's funny is the irony of me talking bad about "hacks" lol , half my code is hacks, I know it , they know it, i felt like such a hypocrite saying it. :D But I think I am well aware of what's considered a hack, one man's hack is another man's workaround but at least i am open about it, one of my apps is called GrubHack , I called it that because it edits the grub file yet my knowledge of grub is limited so the app does not so much edit the grub config on a deeply understood level, it hacks it on a surface level with the little understanding it has, thus it's reliability is in question an it needs to be clear about that. The security measure you are implementing is clearly a hack, I think if you are serious about implementing security then you should look into something more bulletproof. and don't blame gambas or the open source ethos for your not so bulletproof code. We are talking about a component you wish other people to use, and we are talking about internet security, you cannot put people at risk by not doing things properly, and that's what could happen, so that is the reason for my "strong" words. Understand the strength of my words was not to attack but to be very clear about quite a serious subject that i think you need a good think about. Some of the other replies were much better than mine, respond to those ones :) Love, peace and understanding <3 BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Wed Feb 3 14:56:43 2021 From: gambas at cd-bahia.com (Dag Jarle Nerland Johansen - Gambas) Date: Wed, 3 Feb 2021 14:56:43 +0100 Subject: [Gambas-user] Question to SmtpClient In-Reply-To: References: Message-ID: Normally POP3 automagically deletes the mails on the server when downloading them. That's why I didn't look into that component. Am 02.02.21 um 12:40 schrieb Dag Jarle Nerland Johansen - Gambas: > Hi, > is there any way to also receive mails with the SmtpClient? > I didn't try it out, but see no command for that, only send. > Is there any other component I can use to receive SMPT-mails? > (POP3 I didn't look into, no option for me) > Regards, > Dag > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > From bsteers4 at gmail.com Wed Feb 3 15:10:45 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 Feb 2021 14:10:45 +0000 Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: References: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Hmm, raspberry compilation is failing. It's not the app. make is failing to make gbx CC gbx3-gbx.o CCLD gbx3 gbx3-gbx-subr_misc.o: file not recognized: file format not recognized On Wed, 3 Feb 2021 at 05:11, Bruce Steers wrote: > > > On Tue, 2 Feb 2021 at 20:56, Brian G wrote: > >> BruceS, >> >> Does this work or raspi-os as well? >> >> Thank You >> Brian G >> > > It does now ;) > I got to test it on a freshly installed raspberry 4 using raspbians > packager supplied gambas 3.12. > > The 3.12 TeminalView kicked up some issues so i imported the 3.15 one into > the app. > also downloads were freezing so I increased the read length to the default > curl 16k and that fixed that. > > It's now running in the background just fine as i speak.... > > the webkit problem i mentioned is that qtwebengine5-dev is not on the > raspbian repository, it fails with not finding the Qt5WebEngineWidgets so > the app removes the package from the list and disables gb.qt5.webview (like > in debian testing) hoping to find another way. > > All the best > BruceS > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Feb 3 16:37:01 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Wed, 03 Feb 2021 18:37:01 +0300 Subject: [Gambas-user] =?utf-8?q?http_component_and_strong_Reaction?= In-Reply-To: References: Message-ID: <1612366621.87924585@f9.my.com> Your last comment about your test server being under attack is interesting. If they know too look in the farm for source code and know your location and ip address of your test server. Then it would seem it is someone who knows your company and environment well. Maybe someone on the user list... -- Thanks Brian Wednesday, 03 February 2021, 01:24AM -08:00 from Olivier Coquet ocoquet at 3d-phenomen.fr : >Hello everyone, > >I'm sorry that my question about the release of a component caused such >a strong reaction. > >I was just asking myself a question, my intention was not to create a >polemic. > >As to whether I intend to make money with my development, the answer is >no for the http-server component and yes for other developments that are >intended for particular users with a real need and no development >knowledge (Domopi product in development). > >For the http component, I don't pretend to do better or as good as >Apache, but to make it simpler for non competent users. > >My reflection on Windows was a provocation (sorry Bruce) and was not >intended to trigger a general outcry. > >To close this discussion, I've been using Linux for 25 years now and I >largely participated in its development, it's a product I believe in. >And chances are that each of you is unknowingly using pieces of my >(volunteer) work. > >Last but not least, since I posted the source code of my http component >on the Farm, my test server has been under regular attack on points that >only knowledge of the source code can justify, hence my initial question. > >Friendship to all >Olivier Coquet > >Translated with www.DeepL.com/Translator (free version) > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Feb 3 16:58:33 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Wed, 03 Feb 2021 18:58:33 +0300 Subject: [Gambas-user] =?utf-8?q?http_component_and_strong_Reaction?= In-Reply-To: <1612366621.87924585@f9.my.com> References: <1612366621.87924585@f9.my.com> Message-ID: <1612367913.295729558@f6.my.com> My last comment was meant in a sarcastic way. Sorry if it sounded otherwise. I don't believe anyone on the list would do this -- Thanks Brian Wednesday, 03 February 2021, 07:48AM -08:00 from Brian G brian at westwoodsvcs.com : >Your last comment about your test server being under attack is interesting. >If they know too look in the farm for source code and know your location and ip address of your test server. >Then it would seem it is someone who knows your company and environment well. Maybe someone on the user list... >-- >Thanks >Brian Wednesday, 03 February 2021, 01:24AM -08:00 from Olivier Coquet ocoquet at 3d-phenomen.fr : > >>Hello everyone, >> >>I'm sorry that my question about the release of a component caused such >>a strong reaction. >> >>I was just asking myself a question, my intention was not to create a >>polemic. >> >>As to whether I intend to make money with my development, the answer is >>no for the http-server component and yes for other developments that are >>intended for particular users with a real need and no development >>knowledge (Domopi product in development). >> >>For the http component, I don't pretend to do better or as good as >>Apache, but to make it simpler for non competent users. >> >>My reflection on Windows was a provocation (sorry Bruce) and was not >>intended to trigger a general outcry. >> >>To close this discussion, I've been using Linux for 25 years now and I >>largely participated in its development, it's a product I believe in. >>And chances are that each of you is unknowingly using pieces of my >>(volunteer) work. >> >>Last but not least, since I posted the source code of my http component >>on the Farm, my test server has been under regular attack on points that >>only knowledge of the source code can justify, hence my initial question. >> >>Friendship to all >>Olivier Coquet >> >>Translated with www.DeepL.com/Translator (free version) >> >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 3 17:12:01 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 Feb 2021 16:12:01 +0000 Subject: [Gambas-user] New Simple Gambas updater In-Reply-To: References: <1841584073.756.1612295415923.JavaMail.zimbra@westwoodsvcs.com> Message-ID: On Wed, 3 Feb 2021 at 14:10, Bruce Steers wrote: > Hmm, raspberry compilation is failing. > > It's not the app. > make is failing to make gbx > CC gbx3-gbx.o > CCLD gbx3 > gbx3-gbx-subr_misc.o: file not recognized: file format not recognized > > Okay , seems that was last night. today i've re-run it to check for the errors and it not happened now. (possibly a lib updated?) So tested 'now and working as expected on Raspberrypi-4 All the best. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Wed Feb 3 17:19:17 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Wed, 3 Feb 2021 17:19:17 +0100 Subject: [Gambas-user] http component and strong Reaction In-Reply-To: <1612367913.295729558@f6.my.com> References: <1612366621.87924585@f9.my.com> <1612367913.295729558@f6.my.com> Message-ID: <9275d0ce-d74d-b59c-607c-50a753003cc6@3d-phenomen.fr> :) I don't think it's a person from this list either. But all the people who install Gambas have access to the farm. And there must start to be a lot of people using Gambas. One thing is sure, it can only be someone who looked at the sources because my test server uses a maintenance port not commonly used in http and requests are made on this port with requests for *.gbp pages. To my knowledge, I'm the only one using *.gbp pages :) PS: And I'm not paranoid ? Regards Olivier coquet Translated with www.DeepL.com/Translator (free version) Le 03/02/2021 ? 16:58, Brian G a ?crit?: > My last comment was meant in a sarcastic way. > Sorry if it sounded otherwise. I don't believe anyone on the list > would do this From olivier.cruilles at yahoo.fr Wed Feb 3 18:24:47 2021 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Wed, 3 Feb 2021 12:24:47 -0500 Subject: [Gambas-user] http component and strong Reaction In-Reply-To: <9275d0ce-d74d-b59c-607c-50a753003cc6@3d-phenomen.fr> References: <9275d0ce-d74d-b59c-607c-50a753003cc6@3d-phenomen.fr> Message-ID: <56E32981-F584-4781-950F-2C15F5E4B13C@yahoo.fr> Hello, Why not just allow your special port only from lock network and use VNP to access from outside if you need. Today it?s a common way to do regarding insecurity if you expose something on Internet. Olivier Cruilles > Le 3 f?vr. 2021 ? 11:20, Olivier Coquet a ?crit : > > ?:) > I don't think it's a person from this list either. But all the people who install Gambas have access to the farm. And there must start to be a lot of people using Gambas. > > One thing is sure, it can only be someone who looked at the sources because my test server uses a maintenance port not commonly used in http and requests are made on this port with requests for *.gbp pages. To my knowledge, I'm the only one using *.gbp pages :) > > PS: And I'm not paranoid ? > > > Regards > Olivier coquet > > Translated with www.DeepL.com/Translator (free version) > >> Le 03/02/2021 ? 16:58, Brian G a ?crit : >> My last comment was meant in a sarcastic way. >> Sorry if it sounded otherwise. I don't believe anyone on the list would do this > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From charlie at cogier.com Wed Feb 3 18:32:26 2021 From: charlie at cogier.com (Charlie Ogier) Date: Wed, 3 Feb 2021 17:32:26 +0000 Subject: [Gambas-user] Placeholder not working Message-ID: <6fe79b73-4c37-4fdf-e34c-72100f1867ff@cogier.com> Hi, Can you try the following code and see if it crashes on you. Thanks, Charlie '************************************ ComboBox1 As ComboBox Public Sub Form_Open() ? With ComboBox1 = New ComboBox(Me) As "ComboBox1" ??? .x = 10 ??? .y = 35 ??? .Height = 28 ??? .Width = 250 ??? .Placeholder = "Add some text" ?? ''This causes a crash with gb.gui.qt and does not work with gb.gui ? End With End '************************************ From jussi.lahtinen at gmail.com Wed Feb 3 19:15:00 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 3 Feb 2021 20:15:00 +0200 Subject: [Gambas-user] http component and strong Reaction In-Reply-To: References: Message-ID: > > ... my test server has been under regular attack on points that > only knowledge of the source code can justify, hence my initial question. > This is one of the issues I meant. There shouldn't be things that allow attack if they "know the sources" (in reality not needed). Such sources need to be fixed. Secure code is secure even when the sources are public. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Wed Feb 3 19:52:09 2021 From: mbelmonte at belmotek.net (Martin) Date: Wed, 3 Feb 2021 19:52:09 +0100 Subject: [Gambas-user] Placeholder not working In-Reply-To: <6fe79b73-4c37-4fdf-e34c-72100f1867ff@cogier.com> References: <6fe79b73-4c37-4fdf-e34c-72100f1867ff@cogier.com> Message-ID: <534f90b3-a608-f756-03c4-c70f190f2e09@belmotek.net> Hi Charlie. I test the code with the follow results: gb.gui => Works gb.gui.qt ? => Crash My system use gtk (xfce desktop) Rgards. El 3/2/21 a las 18:32, Charlie Ogier escribi?: > Hi, > > Can you try the following code and see if it crashes on you. > > Thanks, > > Charlie > '************************************ > ComboBox1 As ComboBox > > Public Sub Form_Open() > > ? With ComboBox1 = New ComboBox(Me) As "ComboBox1" > ??? .x = 10 > ??? .y = 35 > ??? .Height = 28 > ??? .Width = 250 > ??? .Placeholder = "Add some text" ?? ''This causes a crash with > gb.gui.qt and does not work with gb.gui > ? End With > > End > '************************************ > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From sbungay at smartsonsite.com Wed Feb 3 23:26:59 2021 From: sbungay at smartsonsite.com (sbungay) Date: Wed, 3 Feb 2021 17:26:59 -0500 Subject: [Gambas-user] Click and mousemove not firing... Message-ID: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> Anybody ever have trouble with the listbox click event not firing? I've got a populated list, and neither the click or mousemove events fire. Very strange. GAMBAS : 3.15.2 Mint 19 (Tara) -- Stephen A. Bungay, Prop. Smarts On Site Managed Information Systems & Support Services 705.734.0597 From g4mba5 at gmail.com Wed Feb 3 23:51:36 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 3 Feb 2021 23:51:36 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> Message-ID: <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Le 03/02/2021 ? 23:26, sbungay a ?crit?: > ? Anybody ever have trouble with the listbox click event not firing? > I've got a populated list, and neither the click or mousemove events > fire. Very strange. > > GAMBAS : 3.15.2 > Mint 19 (Tara) You must provide a project that shows the bug. Thanks. -- Beno?t Minisini From g4mba5 at gmail.com Wed Feb 3 23:55:14 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 3 Feb 2021 23:55:14 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: Le 03/02/2021 ? 23:51, Beno?t Minisini a ?crit?: > Le 03/02/2021 ? 23:26, sbungay a ?crit?: >> ?? Anybody ever have trouble with the listbox click event not firing? >> I've got a populated list, and neither the click or mousemove events >> fire. Very strange. >> >> GAMBAS : 3.15.2 >> Mint 19 (Tara) > > You must provide a project that shows the bug. > > Thanks. > ...and better on the bugtracker, as we are still a lot using gmail, and Google blocks every mail having an archive file attached... Dunno why... Were zip and tar utilities written by Donald Trump's voters? -- Beno?t Minisini From t.lee.davidson at gmail.com Thu Feb 4 00:04:54 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 3 Feb 2021 18:04:54 -0500 Subject: [Gambas-user] Placeholder not working In-Reply-To: <6fe79b73-4c37-4fdf-e34c-72100f1867ff@cogier.com> References: <6fe79b73-4c37-4fdf-e34c-72100f1867ff@cogier.com> Message-ID: <53ab06b9-663a-e5d5-f607-7528453be0ec@gmail.com> On 2/3/21 12:32 PM, Charlie Ogier wrote: > Hi, > > Can you try the following code and see if it crashes on you. > > Thanks, > > Charlie > '************************************ > ComboBox1 As ComboBox > > Public Sub Form_Open() > > ? With ComboBox1 = New ComboBox(Me) As "ComboBox1" > ??? .x = 10 > ??? .y = 35 > ??? .Height = 28 > ??? .Width = 250 > ??? .Placeholder = "Add some text" ?? ''This causes a crash with gb.gui.qt and does not work with gb.gui > ? End With > > End > '************************************ It crashes with gb.qt5. It does not crash with gb.gtk3, but there is no Placeholder text. -- Lee From jussi.lahtinen at gmail.com Thu Feb 4 02:01:19 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 03:01:19 +0200 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: > Were zip and tar utilities written by Donald Trump's voters? > I don't think they know how to write. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Thu Feb 4 02:02:45 2021 From: tercoide at hotmail.com (martin cristia) Date: Wed, 3 Feb 2021 22:02:45 -0300 Subject: [Gambas-user] Error on Search & Replace and other In-Reply-To: References: Message-ID: I am having this error when search and replace globally: This application has raised an unexpected error and must abort. [6] Type mismatch: wanted Integer, got String instead. FSearch.timFillList_Timer.1434 also , when compiling I get, first a "File not found" and then "fault (core dumped) in Segmentation" ; but after that , program runs anyway. Attatched is a gb.mo file found in /Temp that may relate to this. [System] Gambas=3.15.2 OperatingSystem=Linux Kernel=5.8.0-41-generic Architecture=x86_64 Distribution=Ubuntu 20.10 Desktop=UBUNTU:GNOME Theme=fusion Language=es_AR.UTF-8 Memory=11852M [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.6.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.32 GDK3=libgdk-3.so.0.2404.19 GStreamer=libgstreamer-1.0.so.0.1800.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.19 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.102.0.0 Poppler=libpoppler.so.97.0.0 QT5=libQt5Core.so.5.14.2 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=ubuntu DISPLAY=:0 EDITOR=gedit GB_GUI=gb.qt5 GDMSESSION=ubuntu GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=7466 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GNOME_SHELL_SESSION_MODE=ubuntu GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_MODULES=gail:atk-bridge HOME= IM_CONFIG_PHASE=1 INVOCATION_ID=944a6a9bd99c418cafa8fdeae9fec685 JOURNAL_STREAM=8:38990 LANG=es_AR.UTF-8 LANGUAGE=es_AR.UTF-8 LC_ALL=es_AR.UTF-8 LOGNAME= MANAGERPID=875 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false SESSION_MANAGER=local/:@/tmp/.ICE-unix/1176,unix/:/tmp/.ICE-unix/1176 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=1131 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= USERNAME= WINDOWPATH=2 XAUTHORITY=/run/user/1000/gdm/Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg XDG_CURRENT_DESKTOP=ubuntu:GNOME XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop XDG_MENU_PREFIX=gnome- XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=ubuntu XDG_SESSION_TYPE=x11 XMODIFIERS=@im=ibus _=/usr/bin/dbus-update-activation-environment -------------- next part -------------- A non-text attachment was scrubbed... Name: gb.mo Type: application/x-gettext-translation Size: 5565 bytes Desc: not available URL: From g4mba5 at gmail.com Thu Feb 4 02:05:42 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 02:05:42 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: Le 04/02/2021 ? 02:01, Jussi Lahtinen a ?crit?: > > Were zip and tar utilities written by Donald Trump's voters? > > > I don't think they know how to write. > > Jussi > But Google and his friends know how to silent them. -- Beno?t Minisini From g4mba5 at gmail.com Thu Feb 4 02:06:41 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 02:06:41 +0100 Subject: [Gambas-user] Error on Search & Replace and other In-Reply-To: References: Message-ID: <6ce44bc1-9b11-e45d-a992-d1b9297d99b4@gmail.com> Le 04/02/2021 ? 02:02, martin cristia a ?crit?: > I am having this error when search and replace globally: > > This application has raised an unexpected > error and must abort. > > [6] Type mismatch: wanted Integer, got String instead. > > FSearch.timFillList_Timer.1434 > > also , when compiling I get, first a "File not found" and then "fault > (core dumped) in Segmentation" ; but after that , program runs anyway. > Attatched is a gb.mo file found in /Temp that may relate to this. > I need the project, and what you searched & replaced exactly. Thanks. -- Beno?t Minisini From jussi.lahtinen at gmail.com Thu Feb 4 02:08:46 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 03:08:46 +0200 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: LOL what? Jussi On Thu, Feb 4, 2021 at 3:06 AM Beno?t Minisini wrote: > Le 04/02/2021 ? 02:01, Jussi Lahtinen a ?crit : > > > > Were zip and tar utilities written by Donald Trump's voters? > > > > > > I don't think they know how to write. > > > > Jussi > > > > But Google and his friends know how to silent them. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Feb 4 09:47:06 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 09:47:06 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: Hi Stephen, the zip (zip to avoid problem with g-mail) attached project works on a 3.15.2 (Xubuntu 20.04) If that doesn't work for you, you can sign up for the bugtracker ( http://gambaswiki.org/bugtracker ) as indicated here: http://gambaswiki.org/wiki/doc/report Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ListBoxTest.zip Type: application/zip Size: 15456 bytes Desc: not available URL: From bagonergi at gmail.com Thu Feb 4 10:20:42 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 10:20:42 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: Hi Stephen, could you satisfy my curiosity, you have been following Gambas since 2006 how is it possible that you don't know such basic things? You are wrong if you are joking, a joke should be funny. Or are you the real person who inspired the movie "The Curious Case of Benjamin Button" ? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Feb 4 11:18:49 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 11:18:49 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> Message-ID: <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> Le 04/02/2021 ? 09:47, Gianluigi a ?crit?: > Hi Stephen, > > the zip (zip to avoid problem with g-mail) attached project works on a > 3.15.2 (Xubuntu 20.04) > > If that doesn't work for you, you can sign up for the bugtracker ( > http://gambaswiki.org/bugtracker ) as indicated here: > http://gambaswiki.org/wiki/doc/report > > Regards > Gianluigi > So zip files are actually not blocked by gmail? But tar files are... Full nonsense! Anyway, I should add zip as source archive format in the IDE. -- Beno?t Minisini From bagonergi at gmail.com Thu Feb 4 12:11:35 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 12:11:35 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> Message-ID: Il giorno gio 4 feb 2021 alle ore 11:19 Beno?t Minisini ha scritto: > Le 04/02/2021 ? 09:47, Gianluigi a ?crit : > ... > > So zip files are actually not blocked by gmail? But tar files are... > Full nonsense! > despite what Christof claims, as far as I know zip passes google filters unscathed. Yes, this makes little sense, but it seems to be so. > > Anyway, I should add zip as source archive format in the IDE. > I think it's a good idea Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Feb 4 15:40:48 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 4 Feb 2021 09:40:48 -0500 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> Message-ID: On 2/4/21 6:11 AM, Gianluigi wrote: > as far as I know zip passes google filters unscathed. I received it. Perhaps it is zipped tar.gz files that get blocked. -- Lee From bsteers4 at gmail.com Thu Feb 4 16:21:21 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 4 Feb 2021 15:21:21 +0000 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <48d2029b-8302-64a0-b56e-d8dc8ab889e4@smartsonsite.com> <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> Message-ID: One thought i have is maybe virus checking can only happen at a single depth level with archives, so a standard zip that is just contents in a single archive can be checked (i know most virus checkers can also check a zips contents) but a tar.gz will be an archive within an archive possibly making it not checkable? Just a random thought? BruceS On Thu, 4 Feb 2021 at 14:41, T Lee Davidson wrote: > On 2/4/21 6:11 AM, Gianluigi wrote: > > as far as I know zip passes google filters unscathed. > > I received it. Perhaps it is zipped tar.gz files that get blocked. > > > -- > Lee > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobs at taboege.de Thu Feb 4 16:37:18 2021 From: tobs at taboege.de (Tobias Boege) Date: Thu, 4 Feb 2021 16:37:18 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> Message-ID: <20210204153718.GC1655048@highrise.localdomain> On Thu, 04 Feb 2021, Bruce Steers wrote: > One thought i have is maybe virus checking can only happen at a single > depth level with archives, so a standard zip that is just contents in a > single archive can be checked (i know most virus checkers can also check a > zips contents) but a tar.gz will be an archive within an archive possibly > making it not checkable? > Just a random thought? > If that's true, then this is a regression. I have happily sent and received .tar.gz archives on this list for a decade, with only *occasional* outages that were attributed to spam/virus alarms being set off at Google. But as Christof used to say: we don't know and we will never know. If you identify someone at Google who can be held responsible for these blatant obstructions to completely harmless email traffic, please tell us so that everyone could complain if they wanted to. Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From adamnt42 at gmail.com Thu Feb 4 17:00:20 2021 From: adamnt42 at gmail.com (Bruce) Date: Fri, 5 Feb 2021 02:30:20 +1030 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: <20210204153718.GC1655048@highrise.localdomain> References: <4d16df66-14d2-2a17-5792-902a34a45d05@gmail.com> <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> <20210204153718.GC1655048@highrise.localdomain> Message-ID: On 5/2/21 2:07 am, Tobias Boege wrote: > On Thu, 04 Feb 2021, Bruce Steers wrote: >> One thought i have is maybe virus checking can only happen at a single >> depth level with archives, so a standard zip that is just contents in a >> single archive can be checked (i know most virus checkers can also check a >> zips contents) but a tar.gz will be an archive within an archive possibly >> making it not checkable? >> Just a random thought? >> > > If that's true, then this is a regression. I have happily sent and received > .tar.gz archives on this list for a decade, with only *occasional* outages > that were attributed to spam/virus alarms being set off at Google. > > But as Christof used to say: we don't know and we will never know. If you > identify someone at Google who can be held responsible for these blatant > obstructions to completely harmless email traffic, please tell us so that > everyone could complain if they wanted to. > > Best, > Tobias > Oh no, it's not virus scanning nor is it ubknown. It's all here: https://support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments The salieny bit is To protect you against potential viruses and harmful software, Gmail doesn't allow you to attach certain types of files, including: Certain types of files, including their compressed form (like .gz or .bz2 files) or when found within archives (like .zip or .tgz files) IOW Google is opening your mail. b From tobs at taboege.de Thu Feb 4 18:37:30 2021 From: tobs at taboege.de (Tobias Boege) Date: Thu, 4 Feb 2021 18:37:30 +0100 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> <20210204153718.GC1655048@highrise.localdomain> Message-ID: <20210204173730.GD1655048@highrise.localdomain> On Fri, 05 Feb 2021, Bruce wrote: > On 5/2/21 2:07 am, Tobias Boege wrote: > > On Thu, 04 Feb 2021, Bruce Steers wrote: > > > One thought i have is maybe virus checking can only happen at a single > > > depth level with archives, so a standard zip that is just contents in a > > > single archive can be checked (i know most virus checkers can also check a > > > zips contents) but a tar.gz will be an archive within an archive possibly > > > making it not checkable? > > > Just a random thought? > > > > > > > If that's true, then this is a regression. I have happily sent and received > > .tar.gz archives on this list for a decade, with only *occasional* outages > > that were attributed to spam/virus alarms being set off at Google. > > > > But as Christof used to say: we don't know and we will never know. If you > > identify someone at Google who can be held responsible for these blatant > > obstructions to completely harmless email traffic, please tell us so that > > everyone could complain if they wanted to. > > > > Best, > > Tobias > > > > Oh no, it's not virus scanning nor is it ubknown. It's all here: https://support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments > The salieny bit is > To protect you against potential viruses and harmful software, Gmail > doesn't allow you to attach certain types of files, including: > > Certain types of files, including their compressed form (like .gz or > .bz2 files) or when found within archives (like .zip or .tgz files) > > IOW Google is opening your mail. > Thanks for the pointer. The way I read this, though, is that archives are fine by default (which matches my experience) but its contents are checked for forbidden file types. Now, which of the listed ones trigger on Gambas source archives and why? Does it think it's a jar file because it contains .class files? .vb because of syntax similarities? Those are not things that Gambas could adapt to and we are being punished for no reason. Even disregarding the "opening your mail" part and that the whole idea seems to be to protect people from their own email clients doing stupid things, the file type detection/blocking is more strict than advertised. Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From brian at westwoodsvcs.com Thu Feb 4 18:40:29 2021 From: brian at westwoodsvcs.com (Brian G) Date: Thu, 4 Feb 2021 09:40:29 -0800 (PST) Subject: [Gambas-user] Can INCLUDE be parsed as a key word Message-ID: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> It looks like INCLUDE does not parse as a keyword but as a symbol. Meaning, have to check every line for symbol content of include. Would it be possible to make the keyword INCLUDE parse as a keyword in eval? Cheers Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 4 18:53:13 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 19:53:13 +0200 Subject: [Gambas-user] Attachment test Message-ID: Just for testing. Gmail accounts, are you receiving this? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GAlarm-0.6.3.tar.gz Type: application/gzip Size: 71439 bytes Desc: not available URL: From bagonergi at gmail.com Thu Feb 4 19:02:31 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 19:02:31 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: Il giorno gio 4 feb 2021 alle ore 18:54 Jussi Lahtinen < jussi.lahtinen at gmail.com> ha scritto: > Just for testing. Gmail accounts, are you receiving this? > > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Yes, I received it Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 4 19:07:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 4 Feb 2021 18:07:20 +0000 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: yes On Thu, 4 Feb 2021 at 17:54, Jussi Lahtinen wrote: > Just for testing. Gmail accounts, are you receiving this? > > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 4 19:22:33 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 4 Feb 2021 18:22:33 +0000 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: <20210204173730.GD1655048@highrise.localdomain> References: <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> <20210204153718.GC1655048@highrise.localdomain> <20210204173730.GD1655048@highrise.localdomain> Message-ID: On Thu, 4 Feb 2021 at 17:38, Tobias Boege wrote: > On Fri, 05 Feb 2021, Bruce wrote: > > On 5/2/21 2:07 am, Tobias Boege wrote: > > > On Thu, 04 Feb 2021, Bruce Steers wrote: > > > > One thought i have is maybe virus checking can only happen at a > single > > > > depth level with archives, so a standard zip that is just contents > in a > > > > single archive can be checked (i know most virus checkers can also > check a > > > > zips contents) but a tar.gz will be an archive within an archive > possibly > > > > making it not checkable? > > > > Just a random thought? > > > > > > > > > > If that's true, then this is a regression. I have happily sent and > received > > > .tar.gz archives on this list for a decade, with only *occasional* > outages > > > that were attributed to spam/virus alarms being set off at Google. > > > > > > But as Christof used to say: we don't know and we will never know. If > you > > > identify someone at Google who can be held responsible for these > blatant > > > obstructions to completely harmless email traffic, please tell us so > that > > > everyone could complain if they wanted to. > > > > > > Best, > > > Tobias > > > > > > > Oh no, it's not virus scanning nor is it ubknown. It's all here: > https://support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments > > The salieny bit is > > To protect you against potential viruses and harmful software, > Gmail > > doesn't allow you to attach certain types of files, including: > > > > Certain types of files, including their compressed form (like .gz or > > .bz2 files) or when found within archives (like .zip or .tgz files) > > > > IOW Google is opening your mail. > > > > Thanks for the pointer. The way I read this, though, is that archives are > fine by default (which matches my experience) but its contents are checked > for forbidden file types. Now, which of the listed ones trigger on Gambas > source archives and why? Does it think it's a jar file because it contains > .class files? .vb because of syntax similarities? Those are not things that > Gambas could adapt to and we are being punished for no reason. > > Even disregarding the "opening your mail" part and that the whole idea > seems to be to protect people from their own email clients doing stupid > things, the file type detection/blocking is more strict than advertised. > There has to be more to this than meets the eye. (our protection) lol , we always here that when people want to instigate their own rules. For example a .vb file ?? that's not even an application it's source code you'd need to compile. protection my butt. more like finding any excuse to lower their server demands. Many of those file types are harmless. it's a conspiracy i tell ya, a conspiracy. ;) -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Feb 4 20:35:49 2021 From: adamnt42 at gmail.com (Bruce) Date: Fri, 5 Feb 2021 06:05:49 +1030 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: <9a1b7fb5-5a07-1b28-e566-577aa37dc944@gmail.com> On 5/2/21 4:23 am, Jussi Lahtinen wrote: > Just for testing. Gmail accounts, are you receiving this? > > > Jussi > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > yes, gMail + Thunderbird b From jussi.lahtinen at gmail.com Thu Feb 4 21:18:38 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 22:18:38 +0200 Subject: [Gambas-user] Click and mousemove not firing... In-Reply-To: References: <50ed8691-db59-e183-9e70-f30bac95f7e3@gmail.com> <20210204153718.GC1655048@highrise.localdomain> <20210204173730.GD1655048@highrise.localdomain> Message-ID: It's not a "protection thing", it's a bug in the "protection thing". I'm in multiple emailing lists and this is the only one where the attachment problem exists. And it seems to be a problem only with some accounts. Example I don't think any of my attachments have been blocked. Jussi On Thu, Feb 4, 2021 at 8:23 PM Bruce Steers wrote: > > > On Thu, 4 Feb 2021 at 17:38, Tobias Boege wrote: > >> On Fri, 05 Feb 2021, Bruce wrote: >> > On 5/2/21 2:07 am, Tobias Boege wrote: >> > > On Thu, 04 Feb 2021, Bruce Steers wrote: >> > > > One thought i have is maybe virus checking can only happen at a >> single >> > > > depth level with archives, so a standard zip that is just contents >> in a >> > > > single archive can be checked (i know most virus checkers can also >> check a >> > > > zips contents) but a tar.gz will be an archive within an archive >> possibly >> > > > making it not checkable? >> > > > Just a random thought? >> > > > >> > > >> > > If that's true, then this is a regression. I have happily sent and >> received >> > > .tar.gz archives on this list for a decade, with only *occasional* >> outages >> > > that were attributed to spam/virus alarms being set off at Google. >> > > >> > > But as Christof used to say: we don't know and we will never know. If >> you >> > > identify someone at Google who can be held responsible for these >> blatant >> > > obstructions to completely harmless email traffic, please tell us so >> that >> > > everyone could complain if they wanted to. >> > > >> > > Best, >> > > Tobias >> > > >> > >> > Oh no, it's not virus scanning nor is it ubknown. It's all here: >> https://support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments >> > The salieny bit is >> > To protect you against potential viruses and harmful software, >> Gmail >> > doesn't allow you to attach certain types of files, including: >> > >> > Certain types of files, including their compressed form (like .gz or >> > .bz2 files) or when found within archives (like .zip or .tgz files) >> > >> > IOW Google is opening your mail. >> > >> >> Thanks for the pointer. The way I read this, though, is that archives are >> fine by default (which matches my experience) but its contents are checked >> for forbidden file types. Now, which of the listed ones trigger on Gambas >> source archives and why? Does it think it's a jar file because it contains >> .class files? .vb because of syntax similarities? Those are not things >> that >> Gambas could adapt to and we are being punished for no reason. >> >> Even disregarding the "opening your mail" part and that the whole idea >> seems to be to protect people from their own email clients doing stupid >> things, the file type detection/blocking is more strict than advertised. >> > > There has to be more to this than meets the eye. (our protection) lol , > we always here that when people want to instigate their own rules. > For example a .vb file ?? that's not even an application it's source code > you'd need to compile. protection my butt. more like finding any excuse to > lower their server demands. > Many of those file types are harmless. it's a conspiracy i tell ya, a > conspiracy. > ;) > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 4 21:25:47 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 22:25:47 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: OK, people seem to get my .tar.gz attachment. So, can someone who has problems sending attachments to the list, download this same file and send it to the list in a new thread? Now we know this specific file is not filtered, so the problem is somewhere else, if it is blocked when sent by someone else. Also, if you have the attachment problem, please provide following output for comparison: $ tar --version tar (GNU tar) 1.30 $ gzip --version gzip 1.10 Jussi On Thu, Feb 4, 2021 at 7:53 PM Jussi Lahtinen wrote: > Just for testing. Gmail accounts, are you receiving this? > > > Jussi > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Feb 4 22:21:56 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 22:21:56 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: Il giorno gio 4 feb 2021 alle ore 21:26 Jussi Lahtinen < jussi.lahtinen at gmail.com> ha scritto: > OK, people seem to get my .tar.gz attachment. > So, can someone who has problems sending attachments to the list, download > this same file and send it to the list in a new thread? > Now we know this specific file is not filtered, so the problem is > somewhere else, if it is blocked when sent by someone else. > > Also, if you have the attachment problem, please provide following output > for comparison: > > $ tar --version > tar (GNU tar) 1.30 > > $ gzip --version > gzip 1.10 > I always get tar.gz attachments from anyone. But I followed your instructions for bypassing the filters. Only some of the subscribers reject my tar.gz attachments. I noticed that if I attach zip files this doesn't happen and everyone gets the attachment. tar (GNU tar) 1.30 gzip 1.10 Allegato file GAllarm di Jussi Jussi GAllarm file attachment Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GAlarm-0.6.3.tar.gz Type: application/gzip Size: 71439 bytes Desc: not available URL: From g4mba5 at gmail.com Thu Feb 4 22:33:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 22:33:21 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <5a0c205e-a8a5-efc4-2863-b2d49f1a6f43@gmail.com> Le 04/02/2021 ? 18:40, Brian G a ?crit?: > It looks like INCLUDE does not parse as a keyword but as a symbol. > > Meaning, have to check every line for symbol content of include. > > Would it be possible to make the keyword INCLUDE parse as a keyword in eval? > > Cheers > Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > INCLUDE is not a keyword of the Gambas language. -- Beno?t Minisini From g4mba5 at gmail.com Thu Feb 4 22:35:35 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 22:35:35 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> Le 04/02/2021 ? 22:21, Gianluigi a ?crit?: > > > I always get tar.gz attachments from anyone. > But I followed your instructions for bypassing the filters. > Only some of the subscribers reject my tar.gz attachments. > I noticed that if I attach zip files this doesn't happen and everyone > gets the attachment. > > tar (GNU tar) 1.30 > gzip 1.10 > > Allegato file GAllarm di Jussi > > Jussi GAllarm file attachment > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > It seems that at Google, the more important in its artificial intelligence algorithms are the word "artificial"... -- Beno?t Minisini From g4mba5 at gmail.com Thu Feb 4 22:36:53 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 4 Feb 2021 22:36:53 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> Message-ID: <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> Le 04/02/2021 ? 22:35, Beno?t Minisini a ?crit?: > Le 04/02/2021 ? 22:21, Gianluigi a ?crit?: >> >> >> I always get tar.gz attachments from anyone. >> But I followed your instructions for bypassing the filters. >> Only some of the subscribers reject my tar.gz attachments. >> I noticed that if I attach zip files this doesn't happen and everyone >> gets the attachment. >> >> tar (GNU tar) 1.30 >> gzip 1.10 >> >> Allegato file GAllarm di Jussi >> >> Jussi GAllarm file attachment >> >> Regards >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > It seems that at Google, the more important in its artificial > intelligence algorithms are the word "artificial"... > "*is* the word". Better that way. And here is Jussi's attachment. -- Beno?t Minisini -------------- next part -------------- A non-text attachment was scrubbed... Name: GAlarm-0.6.3.tar.gz Type: application/gzip Size: 71439 bytes Desc: not available URL: From bagonergi at gmail.com Thu Feb 4 22:42:17 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 4 Feb 2021 22:42:17 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> Message-ID: Il giorno gio 4 feb 2021 alle ore 22:37 Beno?t Minisini ha scritto: > > > "*is* the word". Better that way. > > And here is Jussi's attachment. > I also received Benoit's attachment ? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 4 22:56:31 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 Feb 2021 23:56:31 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> Message-ID: I got attachments from Gianluigi and Benoit. Anyone else sent, but not came through? Interesting problem... Jussi On Thu, Feb 4, 2021 at 11:43 PM Gianluigi wrote: > > > Il giorno gio 4 feb 2021 alle ore 22:37 Beno?t Minisini > ha scritto: > >> >> >> "*is* the word". Better that way. >> >> And here is Jussi's attachment. >> > > I also received Benoit's attachment ? > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Feb 4 23:38:46 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 4 Feb 2021 17:38:46 -0500 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: On 2/4/21 3:25 PM, Jussi Lahtinen wrote: > OK, people seem to get my .tar.gz attachment. > So, can someone who has problems sending attachments to the list, download this same file and send it to the list in a new thread? > Now we know this specific file is not filtered, so the problem is somewhere else, if it is blocked when sent by someone else. > > Also, if you have the attachment problem, please provide following output for comparison: > > $ tar --version > tar (GNU tar) 1.30 > > $ gzip --version > gzip 1.10 > > > Jussi $ tar --version tar (GNU tar) 1.30 $ gzip --version gzip 1.10 Jussi, I notice that your archive has a License file. Do you always include one in archives you send to the list? (Archive attached.) -- Lee -------------- next part -------------- A non-text attachment was scrubbed... Name: GAlarm-0.6.3.tar.gz Type: application/gzip Size: 71439 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Thu Feb 4 23:46:17 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 00:46:17 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: > > Jussi, I notice that your archive has a License file. Do you always > include one in archives you send to the list? > No, not even all my published projects have license file. And all the small projects made for demonstrating a problem/bug lack of license file. PS. I got the attachment sent by you. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 4 23:49:06 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 00:49:06 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: Message-ID: I guess now we need files that *do* trigger the blocking for comparison... anyone? Jussi On Thu, Feb 4, 2021 at 7:53 PM Jussi Lahtinen wrote: > Just for testing. Gmail accounts, are you receiving this? > > > Jussi > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 5 00:35:32 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Fri, 05 Feb 2021 02:35:32 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: <5a0c205e-a8a5-efc4-2863-b2d49f1a6f43@gmail.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <5a0c205e-a8a5-efc4-2863-b2d49f1a6f43@gmail.com> Message-ID: <1612481732.389121452@f36.my.com> But it shows up in the language definition wiki? -- Thanks Brian Thursday, 04 February 2021, 01:34PM -08:00 from Beno?t Minisini g4mba5 at gmail.com : >Le 04/02/2021 ? 18:40, Brian G a ?crit?: > It looks like INCLUDE does not parse as a keyword but as a symbol. > > Meaning, have to check every line for symbol content of include. > > Would it be possible to make the keyword INCLUDE parse as a keyword in eval? > > Cheers > Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > >INCLUDE is not a keyword of the Gambas language. > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 5 00:41:41 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Fri, 05 Feb 2021 02:41:41 +0300 Subject: [Gambas-user] =?utf-8?q?This_is_the_test_file?= Message-ID: <1612482101.442787041@f24.my.com> -- Thanks Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GAlarm-0.6.3.tar.gz Type: application/x-gzip Size: 71439 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Fri Feb 5 00:57:10 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 01:57:10 +0200 Subject: [Gambas-user] This is the test file In-Reply-To: <1612482101.442787041@f24.my.com> References: <1612482101.442787041@f24.my.com> Message-ID: Jep, it is. Jussi On Fri, Feb 5, 2021 at 1:52 AM Brian G wrote: > -- > Thanks > Brian > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Feb 5 01:00:24 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 5 Feb 2021 01:00:24 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <1612481732.389121452@f36.my.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <5a0c205e-a8a5-efc4-2863-b2d49f1a6f43@gmail.com> <1612481732.389121452@f36.my.com> Message-ID: <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> Le 05/02/2021 ? 00:35, Brian G a ?crit?: > But it shows up in the language definition wiki? > > -- > Thanks > Brian > I didn't notice. I didn't write that page. -- Beno?t Minisini From g4mba5 at gmail.com Fri Feb 5 01:16:54 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 5 Feb 2021 01:16:54 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <5a0c205e-a8a5-efc4-2863-b2d49f1a6f43@gmail.com> <1612481732.389121452@f36.my.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> Message-ID: Le 05/02/2021 ? 01:00, Beno?t Minisini a ?crit?: > Le 05/02/2021 ? 00:35, Brian G a ?crit?: >> But it shows up in the language definition wiki? >> >> -- >> Thanks >> Brian >> > > I didn't notice. I didn't write that page. > You must replace "INCLUDE" by "#Include". So that gbs additions do not break Gambas syntax. Regards, -- Beno?t Minisini From brian at westwoodsvcs.com Fri Feb 5 02:02:52 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Fri, 05 Feb 2021 04:02:52 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> Message-ID: <1612486972.42409633@f5.my.com> So will #include show up as something other than a symbol -- Thanks Brian Thursday, 04 February 2021, 04:17PM -08:00 from Beno?t Minisini g4mba5 at gmail.com : >Le 05/02/2021 ? 01:00, Beno?t Minisini a ?crit?: > Le 05/02/2021 ? 00:35, Brian G a ?crit?: >> But it shows up in the language definition wiki? >> >> -- >> Thanks >> Brian >> > > I didn't notice. I didn't write that page. > > >You must replace "INCLUDE" by "#Include". So that gbs additions do not >break Gambas syntax. > >Regards, > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 5 02:03:51 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Fri, 05 Feb 2021 04:03:51 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> Message-ID: <1612487031.575263231@f39.my.com> It may be hard to change now as many people may already be using it. I will just parse for it. No issues -- Thanks Brian Thursday, 04 February 2021, 04:17PM -08:00 from Beno?t Minisini g4mba5 at gmail.com : >Le 05/02/2021 ? 01:00, Beno?t Minisini a ?crit?: > Le 05/02/2021 ? 00:35, Brian G a ?crit?: >> But it shows up in the language definition wiki? >> >> -- >> Thanks >> Brian >> > > I didn't notice. I didn't write that page. > > >You must replace "INCLUDE" by "#Include". So that gbs additions do not >break Gambas syntax. > >Regards, > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Fri Feb 5 02:28:02 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 5 Feb 2021 02:28:02 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <1612487031.575263231@f39.my.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> Message-ID: <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> Le 05/02/2021 ? 02:03, Brian G a ?crit?: > It may be hard to change now as many people may already be using it. I > will just parse for it. No issues > > -- > Thanks > Brian No, you can continue to support INCLUDE as a deprecated feature (by printing a warning eventually if you encounter it). But Only '#Include' will be supported by the Gambas parser. -- Beno?t Minisini From ocoquet at 3d-phenomen.fr Fri Feb 5 12:21:59 2021 From: ocoquet at 3d-phenomen.fr (Olivier Coquet) Date: Fri, 5 Feb 2021 12:21:59 +0100 Subject: [Gambas-user] Raspbian buster install package generation Message-ID: <62669d81-374f-84ee-ea87-ccdd8b5c4ae5@3d-phenomen.fr> Hello everyone, I'm facing a strange problem on raspbian (debian 10). When I want to create a package to install a component (gambas 3.12.2) the files are generated except the "debian all.deb". No error message. I do the same operation on a standard debian 10 machine and everything works. Has anyone had the same problem? Friendship Olivier Coquet From chrisml at deganius.de Fri Feb 5 13:39:28 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 13:39:28 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> Message-ID: <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> Am 04.02.21 um 22:56 schrieb Jussi Lahtinen: > I got attachments from Gianluigi and Benoit. Anyone else sent, but not > came through? > Interesting problem... It caused no bounces at all. But it also contains no Gambas project. Please insert a text file with a bit of Gambas code and Symbols like 'Dim', 'Sub (...) ... End', 'Function (...) ... End' and the ending 'class'. If we play this game for a decade we can reengineer the Google algo. ;-) 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 Fri Feb 5 13:44:19 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 13:44:19 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> Message-ID: <13045d1d-9222-bfe3-a6da-8b0e09971e4c@deganius.de> Am 05.02.21 um 02:28 schrieb Beno?t Minisini: > Le 05/02/2021 ? 02:03, Brian G a ?crit?: >> It may be hard to change now as many people may already be using it. I >> will just parse for it. No issues We should keep 'Include' in any form reserved as it would be necesseary if ever namespaces were introduced to Gambas. 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 Feb 5 14:08:21 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 5 Feb 2021 14:08:21 +0100 Subject: [Gambas-user] New zip attachement test Message-ID: Benoit, Brian, Bruce, BruceS, Christof, Jussi, Lee, Tobias, do we do a test with the zip file? Attached DBSpeedyTest Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DBSpeedyTest-0.1.5.zip Type: application/zip Size: 41458 bytes Desc: not available URL: From g4mba5 at gmail.com Fri Feb 5 14:30:05 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 5 Feb 2021 14:30:05 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: <3e2f4cd9-9805-ddf1-33d5-60d23c74af8f@gmail.com> Le 05/02/2021 ? 14:08, Gianluigi a ?crit?: > Benoit, > Brian, > Bruce, > BruceS, > Christof, > Jussi, > Lee, > Tobias, > > do we do a test with the zip file? > Attached DBSpeedyTest > > Regards > Gianluigi > > Got it. I'm sure Google is listening to us... 8-o -- Beno?t Minisini From bsteers4 at gmail.com Fri Feb 5 16:03:22 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 Feb 2021 15:03:22 +0000 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Arrived here okay On Fri, 5 Feb 2021, 13:09 Gianluigi, wrote: > Benoit, > Brian, > Bruce, > BruceS, > Christof, > Jussi, > Lee, > Tobias, > > do we do a test with the zip file? > Attached DBSpeedyTest > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Feb 5 16:06:08 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 Feb 2021 15:06:08 +0000 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: I'm sending 2 files. One tar one tar.gz On Fri, 5 Feb 2021, 13:09 Gianluigi, wrote: > Benoit, > Brian, > Bruce, > BruceS, > Christof, > Jussi, > Lee, > Tobias, > > do we do a test with the zip file? > Attached DBSpeedyTest > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Action-0.0.1.tar.gz Type: application/gzip Size: 12293 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Action-0.0.1.tar Type: application/x-tar Size: 30720 bytes Desc: not available URL: From bagonergi at gmail.com Fri Feb 5 16:13:39 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 5 Feb 2021 16:13:39 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Il giorno ven 5 feb 2021 alle ore 16:07 Bruce Steers ha scritto: > I'm sending 2 files. > i received two files different size ? we'll drive Christof crazy ? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Fri Feb 5 17:09:14 2021 From: olivier.cruilles at yahoo.fr (Linus) Date: Fri, 5 Feb 2021 11:09:14 -0500 Subject: [Gambas-user] Raspbian buster install package generation In-Reply-To: <62669d81-374f-84ee-ea87-ccdd8b5c4ae5@3d-phenomen.fr> References: <62669d81-374f-84ee-ea87-ccdd8b5c4ae5@3d-phenomen.fr> Message-ID: <717AC97E-8E94-42DC-8BFA-B4FEB60C1093@yahoo.fr> Olivier, Gambas 3.12.2 is and old stable version now. In all cases, you should take a look at the log produced by the IDE when you create your package. You should be able to fine an error I think, related to you issue. Olivier Cruilles > Le 5 f?vr. 2021 ? 06:21, Olivier Coquet a ?crit : > > Hello everyone, > I'm facing a strange problem on raspbian (debian 10). > When I want to create a package to install a component (gambas 3.12.2) the files are generated except the "debian all.deb". > No error message. > I do the same operation on a standard debian 10 machine and everything works. > > Has anyone had the same problem? > > Friendship > Olivier Coquet > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From jussi.lahtinen at gmail.com Fri Feb 5 18:54:14 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 19:54:14 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> Message-ID: > > It caused no bounces at all. But it also contains no Gambas project. > What? It does contain Gambas project. I just checked again. Apparently you don't get it right? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Fri Feb 5 18:56:02 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 19:56:02 +0200 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Yes, got it. Jussi On Fri, Feb 5, 2021 at 3:09 PM Gianluigi wrote: > Benoit, > Brian, > Bruce, > BruceS, > Christof, > Jussi, > Lee, > Tobias, > > do we do a test with the zip file? > Attached DBSpeedyTest > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Fri Feb 5 18:56:13 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 19:56:13 +0200 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: ... and these also. Jussi On Fri, Feb 5, 2021 at 5:07 PM Bruce Steers wrote: > I'm sending 2 files. > One tar one tar.gz > > > On Fri, 5 Feb 2021, 13:09 Gianluigi, wrote: > >> Benoit, >> Brian, >> Bruce, >> BruceS, >> Christof, >> Jussi, >> Lee, >> Tobias, >> >> do we do a test with the zip file? >> Attached DBSpeedyTest >> >> Regards >> Gianluigi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 5 19:46:39 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Fri, 05 Feb 2021 21:46:39 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: <13045d1d-9222-bfe3-a6da-8b0e09971e4c@deganius.de> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> <13045d1d-9222-bfe3-a6da-8b0e09971e4c@deganius.de> Message-ID: <1612550799.471543533@f26.my.com> Ok I will accept both and warm about include -- Thanks Brian Friday, 05 February 2021, 04:45AM -08:00 from Christof Thalhofer chrisml at deganius.de : >Am 05.02.21 um 02:28 schrieb Beno?t Minisini: > Le 05/02/2021 ? 02:03, Brian G a ?crit?: >> It may be hard to change now as many people may already be using it. I >> will just parse for it. No issues > >We should keep 'Include' in any form reserved as it would be necesseary >if ever namespaces were introduced to Gambas. > >Alles Gute > >Christof Thalhofer > >-- >Dies ist keine Signatur > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Feb 5 20:45:14 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 Feb 2021 19:45:14 +0000 Subject: [Gambas-user] Form.MinWidth and Form.MinHeight , I'm so happy :) Message-ID: Thank you very very much Benoit for adding a MinWidth and MinHeight property to forms :) Already some of my apps look better as i cannot shrink them below the point of being usable. Just a simple ... * Try Me.MinW = 700* * Try Me.MinH = 300* Now i have MinWidth setting if the gambas I'm using supports it and not if older and does not. Absolutely loving it , Ben you are a hero , much love my friend, a million thanks to you kind sir :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Feb 5 20:58:08 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 Feb 2021 19:58:08 +0000 Subject: [Gambas-user] will manually writing trunk_version.h break anything? Message-ID: Hi. in my gambas simple upgrade utility i have found that the trunk_version.h file does not get created as the zip source downloads do not contain a .git folder with any info in it so the makefile cannot get the info to make the trunk_version.h file. so upon downloading the source zip my app now also reads the gitlab commit page and extracts the latest commit hash string and manually creates the trunk_version.h filef before compile. So it looks like it would normally... *#define TRUNK_VERSION "93ef59197 (master)"#define TRUNK_VERSION_GIT 1* I just wish to know if this file is used for anything else and if i am likely to break anything doing this? It seems to work, the compiled files get the hash and branch name added to their version string as would normally. Just playing it safe. Thanks for any info. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Fri Feb 5 22:17:46 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 22:17:46 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> Message-ID: <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Am 05.02.21 um 18:54 schrieb Jussi Lahtinen: > It caused no bounces at all. But it also contains no Gambas project. > > What? It does contain Gambas project. I just checked again. Apparently > you don't get it right? Oh god, i had hidden files switched off in the file manager. Sorry! 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 jussi.lahtinen at gmail.com Fri Feb 5 22:41:27 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 5 Feb 2021 23:41:27 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: Next time we have the problem, please try to send the "offending" file directly to me. I will take a closer look at what might cause it. Jussi On Fri, Feb 5, 2021 at 11:18 PM Christof Thalhofer wrote: > Am 05.02.21 um 18:54 schrieb Jussi Lahtinen: > > > It caused no bounces at all. But it also contains no Gambas project. > > > > What? It does contain Gambas project. I just checked again. Apparently > > you don't get it right? > > Oh god, i had hidden files switched off in the file manager. Sorry! > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Fri Feb 5 22:52:07 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 22:52:07 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Am 05.02.21 um 16:13 schrieb Gianluigi: > Il giorno ven 5 feb 2021 alle ore 16:07 Bruce Steers > ha scritto: > > I'm sending 2 files. > > > i received two files different size?? > we'll drive Christof crazy ? No, no ... never, i enjoy watching your efforts eating popcorn. :-) Maybe we should develop a small google-piper-program which obsfugates a packed Gambas3 project as Base64 into a textfile and can restore it from that. As mail stores attachments as Base64 it would not increase the size of a mail. If we embed the text between some random text salt at the beginning and end of the file Google should not be able to detect the compressed payload. If we'd included that into the IDE it's usage would be as convenient as with tar.gz. Attached is GAlarm.txt. Remove the first and the last line and then do: $ base64 -d GAlarm.txt > GAlarm.tar.gz Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- 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 uO3N+b32/n39NyrDoFV3UzWdYuISk5bsGlRnXqFKnhi1M2dI2aWWvIrZjxY57U5ZmjOlVlW86YRC 3mvb4MbEyvZje0d0yP0zPW+VYeDdPpfuXHFSZaWpsruGTrmiiyhXuejWpf52/f6AwofN5ru/i33U vnDJpk7dEwbpDY70qnlhWHttclrNqdr2v357TzB8QVnGy5S6fWaDCnQ51PHX4yqe6LtdiOmiHuM1 5uixh4sLulk67cnqdjJl9QO6MYtzRUMeDPqy1PGWd7uxO8XSIxsMscmXgr+vrZHk3P92ftn1EKfN uosnHn2WdPyvNVplh6g+ogSPZJF1iip39uHoLdNt0sROve7VfPTHB4HHBAdKbpo5fJdf0jjPyrvL 9oyqHiNWP10xe/d17f1Ble/a/7PsdVBOgaqFmqofpWrW1+mags7rP+k4OVB8fqS+08VnzY5ys8Zx zZEf/HL1oy9jgjMcVi45sEDq6FjcY1W/ISfcn1xyGuM4MKlIGyQr9B68Te246V1eSGOIU9cHg5e9 zB/qXF+jq3nl9TzepqnCxbCn9B/d80pPs8aYBS49+g9788+5suX5TkWLCgMvllsk67J2p6eqOuR+ rV0bfLBjdF50790l53p2GVWyqtK5qK7h/gP9/rOV+aMdH+a8Wvh1yeNIJ/vSmzHLzrzs/jbuwRSP pEMhn5d9P/H7udIr67NCK+8VvfTZXbijrHLWoNsLlUckJ6RnI12SPojZ1yv47sCchkmD0rMaFU5L pI2rnAxr/prtVlSfF3x/zmIba+3dv17VzR9Z7TQ9Ysdu56fPX9nom4p3123P2G12ZP2VRKvlnyYd 23l4/NzRnzo9Wnn1O9XimAk5Wy9OUAyreeaU+tdN5ebYmP2vA9U3G+aOvnO/ZOVPFl3vjx79c8n2 wGTLX1J+E7688XT+G51rSeI3/byd6/okLfnK6lrXuA8k+499qO5+ZleHMxespLGbV5w5p1pWILM5 EL8o9/7JT7+urordsq5wQ/kdx+DRTn1E27s/GWboZFOfsieny19T7DoGL7T9dIfDD5eXV+lGfVXm mDb/er2LYaOh8qusLgUJF4sizO56DMwc9p+fw5ZUnf9A4pzqvzXEKau2ZuJDZZXevaVmtUPXmSWx GUO7Bm0dddSz40Prvid+d0l90m9B6boMuxc1ccqddbPbP//adU36zsOWg/yC53TbFH0re8uTBf1u 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 rJ7Vs3r+359/A2T8JgoAqAIA -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From tobs at taboege.de Fri Feb 5 22:53:39 2021 From: tobs at taboege.de (Tobias Boege) Date: Fri, 5 Feb 2021 22:53:39 +0100 Subject: [Gambas-user] will manually writing trunk_version.h break anything? In-Reply-To: References: Message-ID: <20210205215339.GH1655048@highrise.localdomain> On Fri, 05 Feb 2021, Bruce Steers wrote: > Hi. > > in my gambas simple upgrade utility i have found that the trunk_version.h > file does not get created as the zip source downloads do not contain a .git > folder with any info in it so the makefile cannot get the info to make the > trunk_version.h file. > > so upon downloading the source zip my app now also reads the gitlab commit > page and extracts the latest commit hash string and manually creates the > trunk_version.h filef before compile. > > So it looks like it would normally... > > > *#define TRUNK_VERSION "93ef59197 (master)"#define TRUNK_VERSION_GIT 1* > > I just wish to know if this file is used for anything else and if i am > likely to break anything doing this? > It seems to work, the compiled files get the hash and branch name added to > their version string as would normally. > Just playing it safe. > It is only used in --version output of gb{c,a,i,x}. -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From g4mba5 at gmail.com Fri Feb 5 23:00:39 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 5 Feb 2021 23:00:39 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Le 05/02/2021 ? 22:52, Christof Thalhofer a ?crit?: > Am 05.02.21 um 16:13 schrieb Gianluigi: > >> Il giorno ven 5 feb 2021 alle ore 16:07 Bruce Steers > > ha scritto: >> >> I'm sending 2 files. >> >> >> i received two files different size?? >> we'll drive Christof crazy ? > > No, no ... never, i enjoy watching your efforts eating popcorn. :-) > > Maybe we should develop a small google-piper-program which obsfugates a > packed Gambas3 project as Base64 into a textfile and can restore it from > that. As mail stores attachments as Base64 it would not increase the > size of a mail. If we embed the text between some random text salt at > the beginning and end of the file Google should not be able to detect > the compressed payload. > > If we'd included that into the IDE it's usage would be as convenient as > with tar.gz. > > Attached is GAlarm.txt. Remove the first and the last line and then do: > > $ base64 -d GAlarm.txt > GAlarm.tar.gz > > Alles Gute > > Christof Thalhofer > Let's encode a tar.gz of a Gambas project into a png file ! -- Beno?t Minisini From chrisml at deganius.de Fri Feb 5 23:05:44 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 23:05:44 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: > Next time we have the problem, please try to send the "offending" file > directly to me. I will take a closer look at what might cause it. Ok, here is one that was bounced. This is also a test for my idea. Remove the first and the last line and then do base64 -d testmakecomp-0.1.8.txt >testmakecomp-0.1.8.tar.gz Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- 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 -------------- 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 Fri Feb 5 23:13:58 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 23:13:58 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: <54cdcd58-de78-40c0-5335-2ae367f5a779@deganius.de> Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: > Next time we have the problem, please try to send the "offending" file > directly to me. I will take a closer look at what might cause it. Just sent you testmakecomp-0.1.8.tar.gz. And guess what happened? > : host gmail-smtp-in.l.google.com[108.177.126.27] > said: 552-5.7.0 This message was blocked because its content presents a > potential 552-5.7.0 security issue. Please visit 552-5.7.0 > https://support.google.com/mail/?p=BlockedMessage to review our 552 5.7.0 > message content and attachment content guidelines. k12si1190292edh.270 - > gsmtp (in reply to end of DATA command) 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 Fri Feb 5 23:21:37 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 5 Feb 2021 23:21:37 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: <88fa7bf6-de7b-9329-4116-9607830c2896@deganius.de> Am 05.02.21 um 23:00 schrieb Beno?t Minisini: > Let's encode a tar.gz of a Gambas project into a png file ! This silly thing: > > $base64-encoded-tar.gz > does the job AFAICS. 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 Sat Feb 6 00:00:54 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 6 Feb 2021 00:00:54 +0100 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: Il giorno ven 5 feb 2021 alle ore 22:53 Christof Thalhofer < chrisml at deganius.de> ha scritto: > Am 05.02.21 um 16:13 schrieb Gianluigi: > > > > we'll drive Christof crazy ? > > No, no ... never, i enjoy watching your efforts eating popcorn. :-) > lol > Attached is GAlarm.txt. Remove the first and the last line and then do: > > $ base64 -d GAlarm.txt > GAlarm.tar.gz > > Alles Gute > Wow, that's amazing! i didn't know this possibility, cool, works well Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sat Feb 6 02:00:30 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 5 Feb 2021 17:00:30 -0800 (PST) Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> Message-ID: <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> Using #include is pretty difficult as the evaluator marks everything on the line as highlight.preprocessor and adds a space between everything except sometime it does not!. I don't think this is a good way to do it as I now have to write a parser for the # lines! Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Thursday, February 4, 2021 5:28:02 PM Subject: Re: [Gambas-user] Can INCLUDE be parsed as a key word Le 05/02/2021 ? 02:03, Brian G a ?crit?: > It may be hard to change now as many people may already be using it. I > will just parse for it. No issues > > -- > Thanks > Brian No, you can continue to support INCLUDE as a deprecated feature (by printing a warning eventually if you encounter it). But Only '#Include' will be supported by the Gambas parser. -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From g4mba5 at gmail.com Sat Feb 6 02:16:44 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 02:16:44 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Le 06/02/2021 ? 02:00, Brian G a ?crit?: > Using #include is pretty difficult as the evaluator marks everything on the line as highlight.preprocessor and adds a space between everything except sometime it does not!. > > I don't think this is a good way to do it as I now have to write a parser for the # lines! > > Thank You > Brian G > Besides "#Include" not yet included in the list of keywords, I don't know what you are talking about. -- Beno?t Minisini From brian at westwoodsvcs.com Sat Feb 6 02:09:08 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 5 Feb 2021 17:09:08 -0800 (PST) Subject: [Gambas-user] Attachment test In-Reply-To: <54cdcd58-de78-40c0-5335-2ae367f5a779@deganius.de> References: <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> <54cdcd58-de78-40c0-5335-2ae367f5a779@deganius.de> Message-ID: <1527908017.2537.1612573748684.JavaMail.zimbra@westwoodsvcs.com> I am sending files from outside gmail into gmail, do you think that could be an issue? I have attached a script file that is all text, is also a program... Thank You Brian G ----- Original Message ----- From: "Christof Thalhofer" To: "Gambas mailing list" Sent: Friday, February 5, 2021 2:13:58 PM Subject: Re: [Gambas-user] Attachment test Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: > Next time we have the problem, please try to send the "offending" file > directly to me. I will take a closer look at what might cause it. Just sent you testmakecomp-0.1.8.tar.gz. And guess what happened? > : host gmail-smtp-in.l.google.com[108.177.126.27] > said: 552-5.7.0 This message was blocked because its content presents a > potential 552-5.7.0 security issue. Please visit 552-5.7.0 > https://support.google.com/mail/?p=BlockedMessage to review our 552 5.7.0 > message content and attachment content guidelines. k12si1190292edh.270 - > gsmtp (in reply to end of DATA command) Alles Gute Christof Thalhofer -- Dies ist keine Signatur ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: testKeywordLookup.gbs Type: application/octet-stream Size: 1217 bytes Desc: not available URL: From brian at westwoodsvcs.com Sat Feb 6 02:20:01 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 5 Feb 2021 17:20:01 -0800 (PST) Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> Any line that start with a #, every symbol in the line gets the type of highlight.preprocessor Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Friday, February 5, 2021 5:16:44 PM Subject: Re: [Gambas-user] Can INCLUDE be parsed as a key word Le 06/02/2021 ? 02:00, Brian G a ?crit?: > Using #include is pretty difficult as the evaluator marks everything on the line as highlight.preprocessor and adds a space between everything except sometime it does not!. > > I don't think this is a good way to do it as I now have to write a parser for the # lines! > > Thank You > Brian G > Besides "#Include" not yet included in the list of keywords, I don't know what you are talking about. -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Sat Feb 6 02:44:04 2021 From: adamnt42 at gmail.com (Bruce) Date: Sat, 6 Feb 2021 12:14:04 +1030 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> Message-ID: On 6/2/21 11:50 am, Brian G wrote: > Any line that start with a #, every symbol in the line gets the type of highlight.preprocessor > > Thank You > Brian G > > ----- Original Message ----- > From: "Beno?t Minisini" > To: "Gambas mailing list" > Sent: Friday, February 5, 2021 5:16:44 PM > Subject: Re: [Gambas-user] Can INCLUDE be parsed as a key word > > Le 06/02/2021 ? 02:00, Brian G a ?crit?: >> Using #include is pretty difficult as the evaluator marks everything on the line as highlight.preprocessor and adds a space between everything except sometime it does not!. >> >> I don't think this is a good way to do it as I now have to write a parser for the # lines! >> >> Thank You >> Brian G >> > > Besides "#Include" not yet included in the list of keywords, I don't > know what you are talking about. > Sounds logical to me. All the line is a preprocessor instruction. b From bsteers4 at gmail.com Sat Feb 6 02:49:11 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 01:49:11 +0000 Subject: [Gambas-user] will manually writing trunk_version.h break anything? In-Reply-To: <20210205215339.GH1655048@highrise.localdomain> References: <20210205215339.GH1655048@highrise.localdomain> Message-ID: > > > > I just wish to know if this file is used for anything else and if i am > > likely to break anything doing this? > > It seems to work, the compiled files get the hash and branch name added > to > > their version string as would normally. > > Just playing it safe. > > > > It is only used in --version output of gb{c,a,i,x}. > Excellent, Thank you Tobias. Then my ha-. Workaround should be fine ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sat Feb 6 03:28:57 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sat, 06 Feb 2021 05:28:57 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1612578537.590856667@f36.my.com> There are no tokens there fore one needs to writer a parser..... There is already one there -- Thanks Brian Friday, 05 February 2021, 05:47PM -08:00 from Bruce adamnt42 at gmail.com : >On 6/2/21 11:50 am, Brian G wrote: > Any line that start with a #, every symbol in the line gets the type of highlight.preprocessor > > Thank You > Brian G > > ----- Original Message ----- > From: "Beno?t Minisini" < g4mba5 at gmail.com> > To: "Gambas mailing list" < user at lists.gambas-basic.org> > Sent: Friday, February 5, 2021 5:16:44 PM > Subject: Re: [Gambas-user] Can INCLUDE be parsed as a key word > > Le 06/02/2021 ? 02:00, Brian G a ?crit?: >> Using #include is pretty difficult as the evaluator marks everything on the line as highlight.preprocessor and adds a space between everything except sometime it does not!. >> >> I don't think this is a good way to do it as I now have to write a parser for the # lines! >> >> Thank You >> Brian G >> > > Besides "#Include" not yet included in the list of keywords, I don't > know what you are talking about. > > >Sounds logical to me. All the line is a preprocessor instruction. >b > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Feb 6 04:02:43 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 6 Feb 2021 05:02:43 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: Thanks, I will look into it. Jussi On Sat, Feb 6, 2021 at 12:06 AM Christof Thalhofer wrote: > Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: > > > Next time we have the problem, please try to send the "offending" file > > directly to me. I will take a closer look at what might cause it. > > Ok, here is one that was bounced. This is also a test for my idea. > > Remove the first and the last line and then do > > base64 -d testmakecomp-0.1.8.txt >testmakecomp-0.1.8.tar.gz > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Feb 6 04:09:08 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 6 Feb 2021 05:09:08 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: Actually Christof, can you send me more different blocked files? Your workaround seems to work nicely. Jussi On Sat, Feb 6, 2021 at 5:02 AM Jussi Lahtinen wrote: > Thanks, I will look into it. > > Jussi > > On Sat, Feb 6, 2021 at 12:06 AM Christof Thalhofer > wrote: > >> Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: >> >> > Next time we have the problem, please try to send the "offending" file >> > directly to me. I will take a closer look at what might cause it. >> >> Ok, here is one that was bounced. This is also a test for my idea. >> >> Remove the first and the last line and then do >> >> base64 -d testmakecomp-0.1.8.txt >testmakecomp-0.1.8.tar.gz >> >> Alles Gute >> >> Christof Thalhofer >> >> -- >> Dies ist keine Signatur >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Feb 6 05:32:12 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 5 Feb 2021 23:32:12 -0500 Subject: [Gambas-user] New zip attachement test In-Reply-To: References: Message-ID: On 2/5/21 4:52 PM, Christof Thalhofer wrote: > Attached is GAlarm.txt. Remove the first and the last line and then do: > > $ base64 -d GAlarm.txt > GAlarm.tar.gz As a one-liner: $ head -n -1 GAlarm.txt | tail -n +2 | base64 -d > GAlarm.tar.gz -- Lee From brian at westwoodsvcs.com Sat Feb 6 06:49:15 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sat, 06 Feb 2021 08:49:15 +0300 Subject: [Gambas-user] =?utf-8?q?Attachment_test?= In-Reply-To: References: Message-ID: <1612590555.344926059@f32.my.com> Maybe put and encode decoder on the farm? -- Thanks Brian Friday, 05 February 2021, 07:10PM -08:00 from Jussi Lahtinen jussi.lahtinen at gmail.com : >Actually Christof, can you send me more different blocked files? >Your workaround seems to work nicely. > > >Jussi > >On Sat, Feb 6, 2021 at 5:02 AM Jussi Lahtinen < jussi.lahtinen at gmail.com> wrote: >>Thanks, I will look into it. >> >>Jussi >> >>On Sat, Feb 6, 2021 at 12:06 AM Christof Thalhofer < chrisml at deganius.de> wrote: >>>Am 05.02.21 um 22:41 schrieb Jussi Lahtinen: >>> > Next time we have the problem, please try to send the "offending" file > directly to me. I will take a closer look at what might cause it. >>> >>>Ok, here is one that was bounced. This is also a test for my idea. >>> >>>Remove the first and the last line and then do >>> >>>base64 -d? testmakecomp-0.1.8.txt > testmakecomp-0.1.8.tar.gz >>> >>>Alles Gute >>> >>>Christof Thalhofer >>> >>>-- >>>Dies ist keine Signatur >>> >>>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sat Feb 6 08:10:34 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 6 Feb 2021 08:10:34 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: <1612590555.344926059@f32.my.com> References: <1612590555.344926059@f32.my.com> Message-ID: <5e0396a7-2830-fe79-a7ba-88b7ab7da153@deganius.de> Am 06.02.21 um 06:49 schrieb Brian G: > Maybe put and encode decoder on the farm? Yes, i think that's a good idea for now. Please look at Lee's version: > As a one-liner: > $ head -n -1 GAlarm.txt | tail -n +2 | base64 -d > GAlarm.tar.gz 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 Feb 6 08:29:05 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 6 Feb 2021 08:29:05 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> Message-ID: <4423a67e-447d-21f2-c909-21e9a0ca483f@deganius.de> Am 06.02.21 um 04:09 schrieb Jussi Lahtinen: > Actually Christof, can you send me more different blocked files? > Your workaround seems to work nicely. Sorry, i deleted old bounces from my maildir. Here are two bounced projects: https://paste.c-net.org/RapportBrigid I've extracted them from the archive. You can find them if you search the term "bounced". https://lists.gambas-basic.org/cgi-bin/search.cgi?q=bounced 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 tercoide at hotmail.com Sat Feb 6 12:19:49 2021 From: tercoide at hotmail.com (martin cristia) Date: Sat, 6 Feb 2021 08:19:49 -0300 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: References: Message-ID: ?Hi, these are gonne in //Trunk version. I'm really used to them instad of Ctrl-C and V , was it on purpose? From bsteers4 at gmail.com Sat Feb 6 13:06:24 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 12:06:24 +0000 Subject: [Gambas-user] Strange text when first running the IDE Message-ID: Does anyone else have this weird issue... Sometimes, not always When the IDE is first opened and i type some text in the editor on first keypress a few odd characters get printed. Weird ascii chars i do not recognise and only 2 or 3 of them. I delete the chars and everything else is normal from then on. Often for the rest of the day. It's not too often it happens but often enough for me to write this mail to ask if it's just me? BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Feb 6 13:36:10 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 13:36:10 +0100 Subject: [Gambas-user] Strange text when first running the IDE In-Reply-To: References: Message-ID: Le 06/02/2021 ? 13:06, Bruce Steers a ?crit?: > Does anyone else have this weird issue... > > Sometimes, not always > When the IDE is first opened and i type some text in the editor on first > keypress a few odd characters get printed. > Weird ascii chars i do not recognise and only 2 or 3 of them. > > I delete the chars and everything else is normal from then on. > Often for the rest of the day. > > It's not too often it happens but often enough for me to write this mail > to ask if it's just me? > > BruceS > You must always tell if you are using the QT IDE or the GTK+ IDE. -- Beno?t Minisini From bsteers4 at gmail.com Sat Feb 6 13:51:54 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 12:51:54 +0000 Subject: [Gambas-user] Strange text when first running the IDE In-Reply-To: References: Message-ID: Sorry Ben. Just so you know I use defaults mostly all the way. So my IDE switched from QT to GTK3 when you made that change a few months ago. All my OS's (general use not test OS's) seem to use gtk3 by default. So if i have neglected to say you can bet yr bottom dollar it's gtk3 with generally default settings. It happened this morning so i know it's happening on this config... (Using default gtk3 IDE) Wishing well. BruceS [System] Gambas=3.15.90 74093fb74 (bruces-patched) OperatingSystem=Linux Kernel=5.4.0-62-generic Architecture=x86_64 Distribution=Linux Mint 20 Ulyana Desktop=MATE Theme=clearlooks Language=en_GB.UTF-8 Memory=3824M [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.6.0 DBus=libdbus-1.so.3.19.11 GDK2=libgdk-x11-2.0.so.0.2400.32 GDK3=libgdk-3.so.0.2404.16 GStreamer=libgstreamer-1.0.so.0.1602.0 GTK+2=libgtk-x11-2.0.so.0.2400.32 GTK+3=libgtk-3.so.0.2404.16 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.97.0.0 QT5=libQt5Core.so.5.12.8 SDL=libSDL-1.2.so.0.11.4 SQLite=libsqlite3.so.0.8.6 [Environment] CLUTTER_BACKEND=x11 CLUTTER_IM_MODULE=ibus DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/mate.default.path DESKTOP_SESSION=mate DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=mate GDM_LANG=en_GB GIO_LAUNCHED_DESKTOP_FILE_PID=6634 GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=0 HOME= LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LIBVIRT_DEFAULT_URI=qemu:///system LOGNAME= MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path MATE_DESKTOP_SESSION_ID=this-is-deprecated PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT4_IM_MODULE=ibus QT_ACCESSIBILITY=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/1061,unix/:/tmp/.ICE-unix/1061 SHELL=/bin/bash SHLVL=0 SSH_AGENT_PID=1163 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg XDG_CURRENT_DESKTOP=MATE XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=mate XDG_SESSION_ID=c1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XMODIFIERS=@im=ibus On Sat, 6 Feb 2021 at 12:37, Beno?t Minisini wrote: > Le 06/02/2021 ? 13:06, Bruce Steers a ?crit : > > Does anyone else have this weird issue... > > > > Sometimes, not always > > When the IDE is first opened and i type some text in the editor on first > > keypress a few odd characters get printed. > > Weird ascii chars i do not recognise and only 2 or 3 of them. > > > > I delete the chars and everything else is normal from then on. > > Often for the rest of the day. > > > > It's not too often it happens but often enough for me to write this mail > > to ask if it's just me? > > > > BruceS > > > > You must always tell if you are using the QT IDE or the GTK+ IDE. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Feb 6 14:02:15 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 14:02:15 +0100 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: References: Message-ID: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> Le 06/02/2021 ? 12:19, martin cristia a ?crit?: > ?Hi, these are gonne in //Trunk version. I'm really used to them instad > of Ctrl-C and V , was it on purpose? > Mmm... Strange. I don't remember having removed them, and why I would have done that. But I confirm I can't find them anywhere in the source code. -- Beno?t Minisini From bsteers4 at gmail.com Sat Feb 6 14:24:28 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 13:24:28 +0000 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> References: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> Message-ID: On Sat, 6 Feb 2021 at 13:03, Beno?t Minisini wrote: > Le 06/02/2021 ? 12:19, martin cristia a ?crit : > > Hi, these are gonne in //Trunk version. I'm really used to them instad > > of Ctrl-C and V , was it on purpose? > > > > Mmm... Strange. I don't remember having removed them, and why I would > have done that. But I confirm I can't find them anywhere in the source > code. > > Is it not in TextEditor.class _new() ? *Public Sub _new() Dim sDisplay As String If Not $cShortcut Then $cShortcut = [ "CTRL+A": "SelectAll", "CTRL+C": "Copy", "CTRL+INS": "Copy", "CTRL+V": "Paste", "SHIFT+INS": "Paste", "CTRL+X": "Cut", "SHIFT+DEL": "Cut", "CTRL+Y": "Redo", "CTRL+Z": "Undo", "CTRL+F": "Find"] Endif * BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Feb 6 14:26:11 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 13:26:11 +0000 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: References: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> Message-ID: On Sat, 6 Feb 2021 at 13:24, Bruce Steers wrote: > > > On Sat, 6 Feb 2021 at 13:03, Beno?t Minisini wrote: > >> Le 06/02/2021 ? 12:19, martin cristia a ?crit : >> > Hi, these are gonne in //Trunk version. I'm really used to them >> instad >> > of Ctrl-C and V , was it on purpose? >> > >> >> Mmm... Strange. I don't remember having removed them, and why I would >> have done that. But I confirm I can't find them anywhere in the source >> code. >> >> > Is it not in TextEditor.class _new() ? > > > > > > > > > > > > > > > > > > > > *Public Sub _new() Dim sDisplay As String If Not $cShortcut Then > $cShortcut = [ "CTRL+A": "SelectAll", "CTRL+C": "Copy", > "CTRL+INS": "Copy", "CTRL+V": "Paste", "SHIFT+INS": "Paste", > "CTRL+X": "Cut", "SHIFT+DEL": "Cut", "CTRL+Y": "Redo", > "CTRL+Z": "Undo", "CTRL+F": "Find"] Endif * > BruceS > I recall you made some changes to Shortcut routines recently. Just a thought. All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Feb 6 14:29:36 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 Feb 2021 13:29:36 +0000 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: References: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> Message-ID: On Sat, 6 Feb 2021 at 13:26, Bruce Steers wrote: > > > On Sat, 6 Feb 2021 at 13:24, Bruce Steers wrote: > >> >> >> On Sat, 6 Feb 2021 at 13:03, Beno?t Minisini wrote: >> >>> Le 06/02/2021 ? 12:19, martin cristia a ?crit : >>> > Hi, these are gonne in //Trunk version. I'm really used to them >>> instad >>> > of Ctrl-C and V , was it on purpose? >>> > >>> >>> Mmm... Strange. I don't remember having removed them, and why I would >>> have done that. But I confirm I can't find them anywhere in the source >>> code. >>> >>> >> Is it not in TextEditor.class _new() ? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> *Public Sub _new() Dim sDisplay As String If Not $cShortcut Then >> $cShortcut = [ "CTRL+A": "SelectAll", "CTRL+C": "Copy", >> "CTRL+INS": "Copy", "CTRL+V": "Paste", "SHIFT+INS": "Paste", >> "CTRL+X": "Cut", "SHIFT+DEL": "Cut", "CTRL+Y": "Redo", >> "CTRL+Z": "Undo", "CTRL+F": "Find"] Endif * >> BruceS >> > > I recall you made some changes to Shortcut routines recently. > Just a thought. > Or the more recent change to collection routines? Sorry I'm sure you will have a better notion as to the reason. All the best > BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Feb 6 17:23:26 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 17:23:26 +0100 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> References: <69fbc385-ec11-dcfa-c089-f47c355e7736@gmail.com> Message-ID: Le 06/02/2021 ? 14:02, Beno?t Minisini a ?crit?: > Le 06/02/2021 ? 12:19, martin cristia a ?crit?: >> ??Hi, these are gonne in //Trunk version. I'm really used to them >> instad of Ctrl-C and V , was it on purpose? >> > > Mmm... Strange. I don't remember having removed them, and why I would > have done that. But I confirm I can't find them anywhere in the source > code. > Fixed in commit https://gitlab.com/gambas/gambas/-/commit/87926caca1f84061cf99a9eaa1e53af03f7fb47e. -- Beno?t Minisini From g4mba5 at gmail.com Sat Feb 6 17:49:46 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 17:49:46 +0100 Subject: [Gambas-user] Can INCLUDE be parsed as a key word In-Reply-To: <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <028580e1-3c19-e93a-3ba2-247649fc1f3f@gmail.com> <1612487031.575263231@f39.my.com> <7253eb0d-2e0d-908b-5298-68570bd58d95@gmail.com> <1055150850.2434.1612573230576.JavaMail.zimbra@westwoodsvcs.com> <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1351dc3c-5a86-a501-2d16-80249052abd6@gmail.com> Le 06/02/2021 ? 02:20, Brian G a ?crit?: > Any line that start with a #, every symbol in the line gets the type of highlight.preprocessor > > Thank You > Brian G > It should be better with last commit. -- Beno?t Minisini From jean-yvon.renaut at wanadoo.fr Sat Feb 6 18:42:02 2021 From: jean-yvon.renaut at wanadoo.fr (Jean-Yvon) Date: Sat, 6 Feb 2021 18:42:02 +0100 Subject: [Gambas-user] Fault or bug Message-ID: hello! I managed to maximize the window size of a project.(For me it?s a plus!) a problem: when I increase the size and shrink it several times, my machine crashes. I checked with another project of the library, I get the same thing. question: is this my machine? is this Gambas? Is that an error in our two codes? thank you in advance JY j'ai r?ussi ? pouvoir maximiser la taille de fen?tre d'un projet.(Pour moi c'est un plus!) un probl?me : quant j?augmente la taille et la r?tr?cie plusieurs fois, ma machine plante. j'ai v?rifi? avec un autre projet de la logith?que, j'obtiens la m?me chose. question : est-ce ma machine? est-ce gambas? est-ce une erreur dans nos deux codes? merci d'avance JY -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Feb 6 19:01:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 6 Feb 2021 19:01:21 +0100 Subject: [Gambas-user] Fault or bug In-Reply-To: References: Message-ID: Le 06/02/2021 ? 18:42, Jean-Yvon a ?crit?: > hello! > > I managed to maximize the window size of a project.(For me it?s a plus!) > a problem: when I increase the size and shrink it several times, my > machine crashes. > I checked with another project of the library, I get the same thing. > question: > > is this my machine? > is this Gambas? > Is that an error in our two codes? > thank you in advance > > JY > > j'ai r?ussi ? pouvoir maximiser la taille de fen?tre d'un projet.(Pour > moi c'est un plus!) > un probl?me : quant j?augmente la taille et la r?tr?cie plusieurs fois, > ma machine plante. > j'ai v?rifi? avec un autre projet de la logith?que, j'obtiens la m?me chose. > question : > > est-ce ma machine? > est-ce gambas? > est-ce une erreur dans nos deux codes? > merci d'avance > JY > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Please provide a project that allows to reproduce the crash and give full details about your environment. But if you machine crashes (how exactly?), there is a problem on your system. You should check /var/log/syslog to get some clues. Regards, -- Beno?t Minisini From brian at westwoodsvcs.com Sun Feb 7 01:02:53 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sun, 07 Feb 2021 03:02:53 +0300 Subject: [Gambas-user] =?utf-8?q?Can_INCLUDE_be_parsed_as_a_key_word?= In-Reply-To: <1351dc3c-5a86-a501-2d16-80249052abd6@gmail.com> References: <2015612936.1742.1612460429156.JavaMail.zimbra@westwoodsvcs.com> <1099579903.2614.1612574401014.JavaMail.zimbra@westwoodsvcs.com> <1351dc3c-5a86-a501-2d16-80249052abd6@gmail.com> Message-ID: <1612656173.872700016@f7.my.com> Thank you! -- Thanks Brian Saturday, 06 February 2021, 08:51AM -08:00 from Beno?t Minisini g4mba5 at gmail.com : >Le 06/02/2021 ? 02:20, Brian G a ?crit?: > Any line that start with a #, every symbol in the line gets the type of highlight.preprocessor > > Thank You > Brian G > > >It should be better with last commit. > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Feb 7 01:52:35 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 7 Feb 2021 02:52:35 +0200 Subject: [Gambas-user] Attachment test In-Reply-To: <4423a67e-447d-21f2-c909-21e9a0ca483f@deganius.de> References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> <4423a67e-447d-21f2-c909-21e9a0ca483f@deganius.de> Message-ID: The reason for blocking the files seems to be complicated and probably a moving target. I don't think there is anything simple to do, except the base64 method. When I try to send the once blocked files, gmail refuses to use them as attachments for "security reasons" and suggests I should share them via google drive. I wonder why this warning is not given right away to others. Jussi On Sat, Feb 6, 2021 at 9:30 AM Christof Thalhofer wrote: > Am 06.02.21 um 04:09 schrieb Jussi Lahtinen: > > > Actually Christof, can you send me more different blocked files? > > Your workaround seems to work nicely. > > Sorry, i deleted old bounces from my maildir. > > Here are two bounced projects: > https://paste.c-net.org/RapportBrigid > > I've extracted them from the archive. You can find them if you search > the term "bounced". > > https://lists.gambas-basic.org/cgi-bin/search.cgi?q=bounced > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sun Feb 7 02:13:44 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 7 Feb 2021 02:13:44 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> <4423a67e-447d-21f2-c909-21e9a0ca483f@deganius.de> Message-ID: <293d3d5d-0db5-ab5f-2dc6-f018cbdbcfd7@deganius.de> Am 07.02.21 um 01:52 schrieb Jussi Lahtinen: > The reason for blocking the files seems to be complicated and probably a > moving target. I don't think there is anything simple to do, except the > base64 method. > When I try to send the once blocked files, gmail refuses to use them as > attachments for "security reasons" and suggests I should share them via > google drive. > I wonder why this warning is not given right away to others. 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 Sun Feb 7 02:22:03 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 7 Feb 2021 02:22:03 +0100 Subject: [Gambas-user] Attachment test In-Reply-To: References: <08397a5d-59d0-f8fe-9a4d-8c956fb21594@gmail.com> <4cb00a09-960f-17c1-5b57-c6ded5e0d685@gmail.com> <33c94059-6544-b3f3-6e63-723742220b52@deganius.de> <7439a5b0-938e-7855-fc63-388727ffa124@deganius.de> <4423a67e-447d-21f2-c909-21e9a0ca483f@deganius.de> Message-ID: Am 07.02.21 um 01:52 schrieb Jussi Lahtinen: > The reason for blocking the files seems to be complicated and probably a > moving target. I don't think there is anything simple to do, except the > base64 method. > When I try to send the once blocked files, gmail refuses to use them as > attachments for "security reasons" and suggests I should share them via > google drive. > I wonder why this warning is not given right away to others. (Sorry, two beers and i hit the send button too fast :/) First break mail and then offer google drive as a solution? That's more than crazy! I am one of those who has to pay Google for advertisement and i am really not convinced with what they do with the money. But back to topic: Just for fun we could try to pack a Gambas project into in a shell script which is able to unpack itself into a Gambas project if it is made an executable and double clicked ... would Gmail check that? I guess not. 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 petterfilip at gmail.com Mon Feb 8 08:41:50 2021 From: petterfilip at gmail.com (pf) Date: Mon, 8 Feb 2021 08:41:50 +0100 Subject: [Gambas-user] Settings file - preserver comments Message-ID: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Hi I use a settings file but when i write to it the comments line made with ; or #? at the start of the line dissapears on update of any value. I would like to keep comments if the settings file is opened in a texteditor so the user can get some tips on the values in the file. Regards Chris From bsteers4 at gmail.com Mon Feb 8 14:25:02 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 13:25:02 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: you can set a comment line when calling Settings this way... *Dim mySettings As Settings* *mySettings = New Settings(Settings.Path, "My comment line here")* Then change all references to Settings["name"] to mySettings["Name") BruceS On Mon, 8 Feb 2021 at 07:42, pf wrote: > Hi > > > I use a settings file but when i write to it the comments line made with > ; or # at the start of the line dissapears on update of any value. > > I would like to keep comments if the settings file is opened in a > texteditor so the user can get some tips on the values in the file. > > > Regards > > Chris > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 8 14:46:19 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 13:46:19 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: sorry to be more correct it should be this.. *Public mySettings As Settings ' a public global object* *Public Sub From_Open()* * mySettings = New Settings(Settings.Path, "My comment line here")* *End* On Mon, 8 Feb 2021 at 13:25, Bruce Steers wrote: > you can set a comment line when calling Settings this way... > > *Dim mySettings As Settings* > *mySettings = New Settings(Settings.Path, "My comment line here")* > > Then change all references to Settings["name"] to mySettings["Name") > > BruceS > > > On Mon, 8 Feb 2021 at 07:42, pf wrote: > >> Hi >> >> >> I use a settings file but when i write to it the comments line made with >> ; or # at the start of the line dissapears on update of any value. >> >> I would like to keep comments if the settings file is opened in a >> texteditor so the user can get some tips on the values in the file. >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From sbungay at smartsonsite.com Mon Feb 8 15:34:48 2021 From: sbungay at smartsonsite.com (sbungay) Date: Mon, 8 Feb 2021 09:34:48 -0500 Subject: [Gambas-user] Procedure call stack... Message-ID: I have need to be able to check the procedure call stack from within a called procedure so it knows what procedure/function called it and can branch the logic accordingly. How can I access this info from within a sub or function? -- Stephen A. Bungay, Prop. Smarts On Site Managed Information Systems & Support Services 705.734.0597 From g4mba5 at gmail.com Mon Feb 8 15:49:38 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 8 Feb 2021 15:49:38 +0100 Subject: [Gambas-user] Procedure call stack... In-Reply-To: References: Message-ID: <48ae5412-9990-94fe-0e89-f1046450805e@gmail.com> Le 08/02/2021 ? 15:34, sbungay a ?crit?: > ? I have need to be able to check the procedure call stack from within > a called procedure so it knows what procedure/function called it and can > branch the logic accordingly. How can I access this info from within a > sub or function? > By analyzing System.Backtrace. But I don't think it's a good idea to base your code logic on that., because the format of System.Backtrace may change. Regards, -- Beno?t Minisini From bsteers4 at gmail.com Mon Feb 8 17:02:52 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 16:02:52 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: Top post: On this subject (to original poster and Benoit)... I can see advantages (and have wished it before) in being able to set the Title of the settings file not just at creation but at anytime. So I have submitted a modification to the Settings.class that will allow this by simply making a Property called Title. Then we would not have to create a mySettings object and could just use Settings.Title. :) Usefull if you think to add a comment after making many Settings[] statements Also a simple bit of code like the following would be good for a timestamp (yes, i know i could just get the file modification date but there are other uses, this is just an example)... *Public Sub Form_Close() Settings.Title = "Settings last saved on " & Str(Now)* *End* Note: the title only gets saved if there are any actual settings to save in either case of new Property i submitted or normal method. All the best BruceS On Mon, 8 Feb 2021 at 13:25, Bruce Steers wrote: > you can set a comment line when calling Settings this way... > > *Dim mySettings As Settings* > *mySettings = New Settings(Settings.Path, "My comment line here")* > > Then change all references to Settings["name"] to mySettings["Name") > > BruceS > > > On Mon, 8 Feb 2021 at 07:42, pf wrote: > >> Hi >> >> >> I use a settings file but when i write to it the comments line made with >> ; or # at the start of the line dissapears on update of any value. >> >> I would like to keep comments if the settings file is opened in a >> texteditor so the user can get some tips on the values in the file. >> >> >> Regards >> >> Chris >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 8 17:22:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 16:22:20 +0000 Subject: [Gambas-user] Nice, emoticons :) Message-ID: Loving the emoticons Ben :) I was playing with an idea the other day that was a way to somehow use any string not just ones you manually input to the class. Eg something like... Picture["iconsearch:32/devices/harddrive"] Picture["iconsearch:32/status/image-loading"] would that be a ball ache ? I think it could save you time in the long run as users would be able to just enter custom icon names so you wouldn't have to? Just a thought :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 8 17:36:06 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 8 Feb 2021 17:36:06 +0100 Subject: [Gambas-user] Nice, emoticons :) In-Reply-To: References: Message-ID: Le 08/02/2021 ? 17:22, Bruce Steers a ?crit?: > > Loving the emoticons Ben :) > > I was playing with an idea the other day that was a way to somehow use > any string not just ones you manually input to the class. > > Eg something like... > > Picture["iconsearch:32/devices/harddrive"] > > Picture["iconsearch:32/status/image-loading"] > > would that be a ball ache? ? > I think it could save you time in the long run as users would be able to > just enter custom icon names so you wouldn't have to? > > Just a thought :) > BruceS > No. If you want to access the system icon themes you must implement the freedesktop.org icon theme standard completely, and that should be done in the 'gb.desktop' component. Good luck with that! This standard is partially implemented by the "icon:/" path management code, and, more important, is totally hidden. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Mon Feb 8 17:38:03 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 8 Feb 2021 17:38:03 +0100 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Le 08/02/2021 ? 08:41, pf a ?crit?: > Hi > > > I use a settings file but when i write to it the comments line made with > ; or #? at the start of the line dissapears on update of any value. > > I would like to keep comments if the settings file is opened in a > texteditor so the user can get some tips on the values in the file. > > > Regards > > Chris > > No, because the settings file format is internal, and can change at any moment without notice. The fact that it looks like Windows '*.ini' file is a pure coincidence. Regards, -- Beno?t Minisini From hans at gambas-buch.de Mon Feb 8 18:19:14 2021 From: hans at gambas-buch.de (Hans Lehmann) Date: Mon, 8 Feb 2021 18:19:14 +0100 Subject: [Gambas-user] Report with 3 sections Message-ID: <1fc13713-7c1d-9de6-2508-5df9fbdd2cb9@gambas-buch.de> Hello, I am currently experimenting with the gb.report2 component. As long as the report consists of only one section, no problems arise. However, I am not able to create a report that consists of 3 sections (Cover, Content and Summery). What do I have to do in the IDE to realize this? What would the source code look like to create a report with 3 sections? With kind regards Hans From bsteers4 at gmail.com Mon Feb 8 19:01:46 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 18:01:46 +0000 Subject: [Gambas-user] Nice, emoticons :) In-Reply-To: References: Message-ID: On Mon, 8 Feb 2021 at 16:37, Beno?t Minisini wrote: > Le 08/02/2021 ? 17:22, Bruce Steers a ?crit : > > > > Loving the emoticons Ben :) > > > > I was playing with an idea the other day that was a way to somehow use > > any string not just ones you manually input to the class. > > > > Eg something like... > > > > Picture["iconsearch:32/devices/harddrive"] > > > > Picture["iconsearch:32/status/image-loading"] > > > > would that be a ball ache ? > > I think it could save you time in the long run as users would be able to > > just enter custom icon names so you wouldn't have to? > > > > Just a thought :) > > BruceS > > > > No. If you want to access the system icon themes you must implement the > freedesktop.org icon theme standard completely, and that should be done > in the 'gb.desktop' component. Good luck with that! > > This standard is partially implemented by the "icon:/" path management > code, and, more important, is totally hidden. > > Oh for flippity flips sake, why cant it just be easy peasy? Thank you anyway :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 8 19:05:27 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 18:05:27 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: On Mon, 8 Feb 2021 at 16:39, Beno?t Minisini wrote: > Le 08/02/2021 ? 08:41, pf a ?crit : > > Hi > > > > > > I use a settings file but when i write to it the comments line made with > > ; or # at the start of the line dissapears on update of any value. > > > > I would like to keep comments if the settings file is opened in a > > texteditor so the user can get some tips on the values in the file. > > > > > > Regards > > > > Chris > > > > > > No, because the settings file format is internal, and can change at any > moment without notice. > > The fact that it looks like Windows '*.ini' file is a pure coincidence. > Was you not keen on my simple mod Ben? It could at least open up a few extra options with the already existing single top Title line that is settable at creation time. Regards BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon Feb 8 19:30:08 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 8 Feb 2021 13:30:08 -0500 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: On 2/8/21 11:38 AM, Beno?t Minisini wrote: > Le 08/02/2021 ? 08:41, pf a ?crit?: >> Hi >> >> >> I use a settings file but when i write to it the comments line made with ; or #? at the start of the line dissapears on update >> of any value. >> >> I would like to keep comments if the settings file is opened in a texteditor so the user can get some tips on the values in >> the file. >> >> >> Regards >> >> Chris >> >> > > No, because the settings file format is internal, and can change at any moment without notice. > > The fact that it looks like Windows '*.ini' file is a pure coincidence. If comments are not preserved, then why provide for them at all? -- Lee From g4mba5 at gmail.com Mon Feb 8 20:20:18 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 8 Feb 2021 20:20:18 +0100 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: Le 08/02/2021 ? 19:30, T Lee Davidson a ?crit?: > On 2/8/21 11:38 AM, Beno?t Minisini wrote: >> Le 08/02/2021 ? 08:41, pf a ?crit?: >>> Hi >>> >>> >>> I use a settings file but when i write to it the comments line made >>> with ; or #? at the start of the line dissapears on update of any value. >>> >>> I would like to keep comments if the settings file is opened in a >>> texteditor so the user can get some tips on the values in the file. >>> >>> >>> Regards >>> >>> Chris >>> >>> >> >> No, because the settings file format is internal, and can change at >> any moment without notice. >> >> The fact that it looks like Windows '*.ini' file is a pure coincidence. > > If comments are not preserved, then why provide for them at all? > One comment is allowed. Otherwise, you should not suppose anything on how Settings stores the data. Maybe I should have been more clear with that... -- Beno?t Minisini From bsteers4 at gmail.com Mon Feb 8 20:28:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 19:28:20 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: On Mon, 8 Feb 2021 at 16:39, Beno?t Minisini wrote: > Le 08/02/2021 ? 08:41, pf a ?crit : > > Hi > > > > > > I use a settings file but when i write to it the comments line made with > > ; or # at the start of the line dissapears on update of any value. > > > > I would like to keep comments if the settings file is opened in a > > texteditor so the user can get some tips on the values in the file. > > > > > > Regards > > > > Chris > > > > > > No, because the settings file format is internal, and can change at any > moment without notice. > > The fact that it looks like Windows '*.ini' file is a pure coincidence. > > some alternative options are possible Chris .... you could use a long more self explanatory Key string like instead of wanting something like... *# Window position settings* *[WPos]* *x=20* *y=20* use *[WindowPositionSettings]* *x=20* *y=20* or something like this might work for you... *if Not Settings["WPos/Comment", ""] Then Settings["WPos/Comment"] = "Window position settings"* that would give... *[WPos]* *Comment="Window Position settings"* *x=20* *y=20* BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Mon Feb 8 21:08:30 2021 From: tercoide at hotmail.com (martin p cristia) Date: Mon, 8 Feb 2021 17:08:30 -0300 Subject: [Gambas-user] Shit-Ins and Ctrl-Ins copy/paste gonne In-Reply-To: References: Message-ID: Working again, tnx! El 2/6/21 a las 1:51 PM, user-request at lists.gambas-basic.org escribi?: > Fixed in commit -- Saludos Ing. Martin P Cristia From bsteers4 at gmail.com Mon Feb 8 21:35:54 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 Feb 2021 20:35:54 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: > >> No, because the settings file format is internal, and can change at > >> any moment without notice. > >> > >> The fact that it looks like Windows '*.ini' file is a pure coincidence. > > > > If comments are not preserved, then why provide for them at all? > > > > One comment is allowed. Otherwise, you should not suppose anything on > how Settings stores the data. > > Maybe I should have been more clear with that... > I get the feeling you would rather i left gb.settings well alone Ben. ? Should i consider it out of bounds for it's internal importance and just accept it as it is? It's all good to me , whatever you wish. Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 9 00:29:54 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 9 Feb 2021 01:29:54 +0200 Subject: [Gambas-user] Crash with latest version Message-ID: Please see the attachment. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasTestercmd-0.10.23.tar.gz Type: application/gzip Size: 30067 bytes Desc: not available URL: From g4mba5 at gmail.com Tue Feb 9 02:22:17 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 02:22:17 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: Message-ID: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Le 09/02/2021 ? 00:29, Jussi Lahtinen a ?crit?: > Please see the attachment. > > > Jussi This has been fixed by latest commit. But I saw a strange thing in your code. At MTest.1963, you pass a 10x10 boolean array to a function that gets an Integer array as argument, and returns its number of dimensions. The interpreter converts the 10x10 boolean array into a 100 elements Integer array, and returns 1. But you apparently expect that function to return 2. So I'm surprised... -- Beno?t Minisini From tercoide at hotmail.com Tue Feb 9 02:21:42 2021 From: tercoide at hotmail.com (martin cristia) Date: Mon, 8 Feb 2021 22:21:42 -0300 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: In the Dialog.SaveFile() user is asked for a filename, given a few extension options, i.e: Dialog.Filter = ["*.dxf", "DXF Drawing exchange 2010", "*.dwg", "DWG AutoCAD Drawing file 2010"] If Dialog.SaveFile() Then Return ' cancel saving f = Dialog.Path then user types "my saved file" , sets extension in ComboBox, but Dialog.Path comes without it; and AFAIK there is no way to get that , or I'm not seeing it???? From jussi.lahtinen at gmail.com Tue Feb 9 03:23:08 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 9 Feb 2021 04:23:08 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: > At MTest.1963, you pass a 10x10 boolean array to a function that gets an > Integer array as argument, and returns its number of dimensions. > > The interpreter converts the 10x10 boolean array into a 100 elements > Integer array, and returns 1. > > But you apparently expect that function to return 2. > > So I'm surprised... > That is old code and it has never triggered an error. So, Gambas used to preserve the dimensions on conversion. Is that not possible anymore? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 9 03:41:31 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 9 Feb 2021 04:41:31 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: If preserving the dimensions is not possible, then I think error should be raised instead of conversion. Because otherwise it could be hard to debug where the error originates. And there probably is existing code that relies on the preservation of the dimensions. Jussi On Tue, Feb 9, 2021 at 4:23 AM Jussi Lahtinen wrote: > > At MTest.1963, you pass a 10x10 boolean array to a function that gets an >> Integer array as argument, and returns its number of dimensions. >> >> The interpreter converts the 10x10 boolean array into a 100 elements >> Integer array, and returns 1. >> >> But you apparently expect that function to return 2. >> >> So I'm surprised... >> > > That is old code and it has never triggered an error. So, Gambas used to > preserve the dimensions on conversion. > Is that not possible anymore? > > > Jussi > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Feb 9 04:43:53 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 8 Feb 2021 22:43:53 -0500 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: <49a28064-1e65-e171-a78b-f991ffeb3556@gmail.com> On 2/8/21 8:21 PM, martin cristia wrote: > In the Dialog.SaveFile() user is asked for a filename, given a few extension options, i.e: > > Dialog.Filter = ["*.dxf", "DXF Drawing exchange 2010", "*.dwg", "DWG AutoCAD Drawing file 2010"] > If Dialog.SaveFile() Then Return ' cancel saving > f = Dialog.Path > > then user types "my saved file" , sets extension in ComboBox, but Dialog.Path comes without it; and AFAIK there is no way to get > that , or I'm not seeing it???? I also do not see how to get that. It would be good if the file extension of the currently selected filter was automatically appended to the basename of the file in the 'File name' box, and automatically changed if the filter is changed. -- Lee From bsteers4 at gmail.com Tue Feb 9 06:32:57 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 05:32:57 +0000 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 at 01:58, martin cristia wrote: > In the Dialog.SaveFile() user is asked for a filename, given a few > extension options, i.e: > > Dialog.Filter = ["*.dxf", "DXF Drawing exchange 2010", "*.dwg", "DWG > AutoCAD Drawing file 2010"] > If Dialog.SaveFile() Then Return ' cancel saving > f = Dialog.Path > > then user types "my saved file" , sets extension in ComboBox, but > Dialog.Path comes without it; and AFAIK there is no way to get that , or > I'm not seeing it???? > gb.form.dialog and the AutoExt property http://gambaswiki.org/wiki/comp/gb.form.dialog/dialog BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 9 07:54:41 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 06:54:41 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: On Mon, 8 Feb 2021 at 07:42, pf wrote: > Hi > > > I use a settings file but when i write to it the comments line made with > ; or # at the start of the line dissapears on update of any value. > > I would like to keep comments if the settings file is opened in a > texteditor so the user can get some tips on the values in the file. > > > Regards > > Chris > Is this what you want Chris? Attached is an alternative version of the Settings.class modified in such a way that Benoit doesn't have to ;) To test it just load the project into gambas and press some buttons and see the file in home/.config/gambas3/AltSettings.conf the test app shows the settings on start and sets some settings/comments and closes when pressing a button. To use it copy the *Settings* folder from the *.src/* folder of the attached project to the *.src/* folder of your project. Then unselect *gb.settings* from you project properties. that's all. What I have done is something you can also easily do. And it can be done with many number of other gambas components if they do not do quite what you want. I took the source files from the comp/gb.settings/.src/ folder of the gambas source package. I then made the following changes to it... A new read/write property *Settings.Title = "some text"* can be used anytime to set the 1st line comment of the file (this method ALWAYS saves) There are 3 new commands.. *GetSlotTitle(slot) As String '* returns the comment for any slot if one exists *SetSlotTitle(Title As String) ' *saves a comment for a slot below the slot name if the slot name exists and *SetTitleIfChanges(title As String) ' *Sets the main 1st line comment but will only save if other settings are modified. Maybe this is not quite what you want but at least you can see how easy it is to import a gambas component and modify it to suit your own needs. It is one of the great things about gambas, so much of it is written in gambas and quite easy to import and customise to your own needs. Best of luck BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: AltSettings.zip Type: application/zip Size: 40295 bytes Desc: not available URL: From t.lee.davidson at gmail.com Tue Feb 9 15:04:03 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 9 Feb 2021 09:04:03 -0500 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: <7b59fca2-9fd8-c8ec-0c11-93724a190677@gmail.com> On 2/9/21 12:32 AM, Bruce Steers wrote: > On Tue, 9 Feb 2021 at 01:58, martin cristia > wrote: > > In the Dialog.SaveFile() user is asked for a filename, given a few > extension options, i.e: > > Dialog.Filter = ["*.dxf", "DXF Drawing exchange 2010", "*.dwg", "DWG > AutoCAD Drawing file 2010"] > If Dialog.SaveFile() Then Return ' cancel saving > f = Dialog.Path > > then user types "my saved file" , sets extension in ComboBox, but > Dialog.Path comes without it; and AFAIK there is no way to get that , or > I'm not seeing it???? > > > gb.form.dialog and the AutoExt property > > http://gambaswiki.org/wiki/comp/gb.form.dialog/dialog > BruceS Good catch, Bruce. I missed that. Simply use gb.form.dialog and add in "Dialog.AutoExt = True" prior to calling the Dialog. Easy. -- Lee From tercoide at hotmail.com Tue Feb 9 15:34:36 2021 From: tercoide at hotmail.com (martin cristia) Date: Tue, 9 Feb 2021 11:34:36 -0300 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: With the Gb.Form.Dialog extended options component, we have the AutoExt option. Thank you! From dahaiou at gmail.com Tue Feb 9 15:40:07 2021 From: dahaiou at gmail.com (dahaiou at gmail.com) Date: Tue, 9 Feb 2021 15:40:07 +0100 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 Message-ID: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> Hello all, my first post here. I saw a thread about this here in the list from October, with a couple of replies by Bruce, but it wasn?t clear if the OP managed to get it working or not. I have the exact same fault, when installing gambas3 on Ubuntu 20.04 under WSL: The installation as such is apparently successful with no errors, but when giving the command ?gambas3? it fails directly with the following message: gb.gui.qt: error: cannot load component 'gb.qt5' I am using the Xming X-server under Windows and other X apps (eg. synaptic) work fine. I have rinsed and repeated installs and purge/uninstalls of gambas3 multiple times, both with synaptic from the PPA, as suggested by Bruce, and plain apt-get install from CLI, but still getting that same error every time. So, I would very much appreciate ideas or pointers on how to troubleshoot and deal with this. BR, Henrik -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 9 16:44:33 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 15:44:33 +0000 Subject: [Gambas-user] Obtaining desired file extension In-Reply-To: References: Message-ID: erm. Did you just reply to your own question? Lol You're welcome ;) BruceS On Tue, 9 Feb 2021, 14:35 martin cristia, wrote: > With the Gb.Form.Dialog extended options component, we have the AutoExt > option. > > Thank you! > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 9 17:34:59 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 16:34:59 +0000 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> Message-ID: It's possible your qt5 installation is not complete. Other apps like synaptic will default to whatever gui system is available Does gambas run if you run it in gtk mode? Type (or change the launcher command to) this... *env GB_GUI=gb.gtk3 gambas3* Or it should auto-select the available desktop gui system with... *env GB_GUI=gb.gui gambas3* and also possible may be your gambas purge/uninstall is not quite getting everything. after apt uninstall/purge then look the check the folders /usr/lib/gambas3 and /usr/share/gambas3 have gone and /usr/bin/gb* files and /usr/bin/gambas3.gambas All the best BruceS On Tue, 9 Feb 2021 at 14:41, wrote: > Hello all, my first post here. > > > > I saw a thread about this here in the list from October, with a couple of > replies by Bruce, > > but it wasn?t clear if the OP managed to get it working or not. > > > > I have the exact same fault, when installing gambas3 on Ubuntu 20.04 under > WSL: > > The installation as such is apparently successful with no errors, but when > giving > > the command ?gambas3? it fails directly with the following message: > > > > gb.gui.qt: error: cannot load component 'gb.qt5' > > > > I am using the Xming X-server under Windows and other X apps (eg. > synaptic) work fine. > > > > I have rinsed and repeated installs and purge/uninstalls of gambas3 > multiple times, > > both with synaptic from the PPA, as suggested by Bruce, and plain apt-get > install from CLI, > > but still getting that same error every time. > > > > So, I would very much appreciate ideas or pointers on how to troubleshoot > and deal with this. > > > > BR, Henrik > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dahaiou at gmail.com Tue Feb 9 18:13:10 2021 From: dahaiou at gmail.com (dahaiou at gmail.com) Date: Tue, 9 Feb 2021 18:13:10 +0100 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> Message-ID: <01e401d6ff06$d7ded540$879c7fc0$@gmail.com> Thanks for the answer Bruce, Regarding the qt5 installation, that was another thing I had already done: ?sudo apt install qt5-default? ? and that installation appeared to work OK And, trying out the command you suggested now, here is the result: Ubuntu:~$ env GB_GUI=gb.gtk3 gambas3 gb.gui.qt: warning: 'gb.gtk3' component not supported gb.gui.qt: error: cannot load component 'gb.qt5' So now it?s two errors instead of just one, some small progress. What I did then: So, thinking gt3 was not installed, after hunting around, I added the ppa:gnome3-team/gnome3 and followed instructions I found on the net sudo apt dist-upgrade Seems to be installed now sudo apt-get install libgtk-3-dev Reading package lists... Done Building dependency tree Reading state information... Done libgtk-3-dev is already the newest version (3.24.20-0ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. But I am still getting the same two errors as above I am also checking that whereis finds the qt5 installation, which it does, but not gtk or gtk3 ~$ whereis qt5 qt5: /usr/lib/x86_64-linux-gnu/qt5 /usr/lib/qt5 /usr/share/qt5 ~$ whereis gtk3 gtk3: - and gtk without the 3 gives the same result Summary: A little progress here, with the new error message, but still no luck launching gambas3. Any ideas on what I can try next? /Henrik From: User On Behalf Of Bruce Steers Sent: Tuesday, 9 February 2021 17:35 To: Gambas Mailing List Subject: Re: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 It's possible your qt5 installation is not complete. Other apps like synaptic will default to whatever gui system is available Does gambas run if you run it in gtk mode? Type (or change the launcher command to) this... env GB_GUI=gb.gtk3 gambas3 Or it should auto-select the available desktop gui system with... env GB_GUI=gb.gui gambas3 and also possible may be your gambas purge/uninstall is not quite getting everything. after apt uninstall/purge then look the check the folders /usr/lib/gambas3 and /usr/share/gambas3 have gone and /usr/bin/gb* files and /usr/bin/gambas3.gambas All the best BruceS On Tue, 9 Feb 2021 at 14:41, > wrote: Hello all, my first post here. I saw a thread about this here in the list from October, with a couple of replies by Bruce, but it wasn?t clear if the OP managed to get it working or not. I have the exact same fault, when installing gambas3 on Ubuntu 20.04 under WSL: The installation as such is apparently successful with no errors, but when giving the command ?gambas3? it fails directly with the following message: gb.gui.qt: error: cannot load component 'gb.qt5' I am using the Xming X-server under Windows and other X apps (eg. synaptic) work fine. I have rinsed and repeated installs and purge/uninstalls of gambas3 multiple times, both with synaptic from the PPA, as suggested by Bruce, and plain apt-get install from CLI, but still getting that same error every time. So, I would very much appreciate ideas or pointers on how to troubleshoot and deal with this. BR, Henrik ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 9 18:20:58 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 18:20:58 +0100 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> Message-ID: Le 09/02/2021 ? 15:40, dahaiou at gmail.com a ?crit?: > Hello all, my first post here. > > I saw a thread about this here in the list from October, with a couple > of replies by Bruce, > > but it wasn?t clear if the OP managed to get it working or not. > > I have the exact same fault, when installing gambas3 on Ubuntu 20.04 > under WSL: > > The installation as such is apparently successful with no errors, but > when giving > > the command ?gambas3? it fails directly with the following message: > > gb.gui.qt: error: cannot load component 'gb.qt5' > > I am using the Xming X-server under Windows and other X apps (eg. > synaptic) work fine. > > I have rinsed and repeated installs and purge/uninstalls of gambas3 > multiple times, > > both with synaptic from the PPA, as suggested by Bruce, and plain > apt-get install from CLI, > > but still getting that same error every time. > > So, I would very much appreciate ideas or pointers on how to > troubleshoot and deal with this. > > BR, Henrik > I suggest removing all your Gambas installation and installing the development version from the daily ppa. The "gb.gui.qt: error: cannot load component 'gb.qt5'" error message means at least that you do run the stable version. You can also try to run: $ gbx3 -e 'Component.Load("gb.qt5")' You should get a more explicit error message. Regards, -- Beno?t Minisini From dahaiou at gmail.com Tue Feb 9 19:30:01 2021 From: dahaiou at gmail.com (dahaiou at gmail.com) Date: Tue, 9 Feb 2021 19:30:01 +0100 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> Message-ID: <01f101d6ff11$945a6f90$bd0f4eb0$@gmail.com> > >> >-----Original Message----- >From: User On Behalf Of Beno?t Minisini >Sent: Tuesday, 9 February 2021 18:21 >To: user at lists.gambas-basic.org >Subject: Re: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 > >Le 09/02/2021 ? 15:40, dahaiou at gmail.com a ?crit : >> Hello all, my first post here. > BR, Henrik > >I suggest removing all your Gambas installation and installing the development version from the daily ppa. YEAASS, Merci Beaucoup Beno?t. That did the trick and Gambas started up like good little prawn-boy should !!!! Thanks also to Bruce, for your valuable ideas. > >The "gb.gui.qt: error: cannot load component 'gb.qt5'" error message means at least that you do run the stable version. > >You can also try to run: > >$ gbx3 -e 'Component.Load("gb.qt5")' > >You should get a more explicit error message. Yes indeed: Cannot load component 'gb.qt5': libQt5Core.so.5: cannot open shared object file: No such file or directory But that doesn't matter now, since I got the daily version going. Only I haven't started using it yet, so who knows if any instabilities start showing up. I might want to get the stable version going eventually, but this unstable one seems good enough to get me started. One thing it does though, is print out the message "Failed to get the memory usage" again and again every few seconds. Easy enough to redirect stderr to >/dev/null, unless you have a trick for that too (?) All the best, Henrik > >Regards, > >-- >Beno?t Minisini > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From g4mba5 at gmail.com Tue Feb 9 19:37:43 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 19:37:43 +0100 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: <01f101d6ff11$945a6f90$bd0f4eb0$@gmail.com> References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> <01f101d6ff11$945a6f90$bd0f4eb0$@gmail.com> Message-ID: Le 09/02/2021 ? 19:30, dahaiou at gmail.com a ?crit : >> >> You should get a more explicit error message. > > Yes indeed: Cannot load component 'gb.qt5': libQt5Core.so.5: cannot > open shared object file: No such file or directory That means that qt5 was not installed correctly on your system. > > But that doesn't matter now, since I got the daily version going. > > Only I haven't started using it yet, so who knows if any > instabilities start showing up. > > I might want to get the stable version going eventually, but this > unstable one seems good enough to get me started. And it will help me make that version the next stable as soon as possible. > > One thing it does though, is print out the message "Failed to get the > memory usage" again and again every few seconds. Easy enough to > redirect stderr to >/dev/null, unless you have a trick for that too > (?) > > All the best, Henrik No idea what prints that message. AFAIK it's not Gambas, so it must be a library. -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 9 19:47:06 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 18:47:06 +0000 Subject: [Gambas-user] cannot load component 'gb.qt5' - WSL Ubuntu 20.04 In-Reply-To: <01f101d6ff11$945a6f90$bd0f4eb0$@gmail.com> References: <018c01d6fef1$768b1c50$63a154f0$@gmail.com> <01f101d6ff11$945a6f90$bd0f4eb0$@gmail.com> Message-ID: > >I suggest removing all your Gambas installation and installing the > development version from the daily ppa. > > YEAASS, Merci Beaucoup Beno?t. That did the trick and Gambas started up > like good little prawn-boy should !!!! > > Thanks also to Bruce, for your valuable ideas. > Happy to help :) glad you are up and running :) > > But that doesn't matter now, since I got the daily version going. > > Only I haven't started using it yet, so who knows if any instabilities > start showing up. > > I might want to get the stable version going eventually, but this unstable > one seems good enough to get me started. > I've been running out of bugs to report on the development version, it's pretty darn stable at present :) I think the stable version is surely due an update :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 9 20:31:39 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 19:31:39 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: 2 Corrections... 1: *SetSlotTitle(Title As String) *should be *SetSlotTitle(Slot As String, Title As String)* 2: when testing i commented out line 155 of Settings.class to force a save and forgot to un-comment it before posting. *' If Not $bModify Then Return* So just uncomment out that line on the last attached version or settings will always save even if no changes. Or use the updated version attached to this mail with a slightly better test gui. Additions: *SetSlotTitle(Slot,Title)* , *Title* is now Optional, if omitted it deletes the comment. bugs: Settings.Reload() will not refresh Settings.Title if it already exists as it thinks it's been explicitly set. (just call *Settings.Title = ""* before running Settings.Reload() if you want it to) I'll leave it with you Chris to get it working just how you want it now :) All the best BruceS On Tue, 9 Feb 2021 at 06:54, Bruce Steers wrote: > > On Mon, 8 Feb 2021 at 07:42, pf wrote: > >> Hi >> >> >> I use a settings file but when i write to it the comments line made with >> ; or # at the start of the line dissapears on update of any value. >> >> I would like to keep comments if the settings file is opened in a >> texteditor so the user can get some tips on the values in the file. >> >> >> Regards >> >> Chris >> > > Is this what you want Chris? > > Attached is an alternative version of the Settings.class modified in such > a way that Benoit doesn't have to ;) > > To test it just load the project into gambas and press some buttons and > see the file in home/.config/gambas3/AltSettings.conf > the test app shows the settings on start and sets some settings/comments > and closes when pressing a button. > > To use it copy the *Settings* folder from the *.src/* folder of the > attached project to the *.src/* folder of your project. > Then unselect *gb.settings* from you project properties. that's all. > > What I have done is something you can also easily do. > And it can be done with many number of other gambas components if they do > not do quite what you want. > I took the source files from the comp/gb.settings/.src/ folder of the > gambas source package. > > I then made the following changes to it... > > A new read/write property > *Settings.Title = "some text"* can be used anytime to set the 1st line > comment of the file (this method ALWAYS saves) > > There are 3 new commands.. > *GetSlotTitle(slot) As String '* returns the comment for any slot if one > exists > *SetSlotTitle(Title As String) ' *saves a comment for a slot below the > slot name if the slot name exists > and > *SetTitleIfChanges(title As String) ' *Sets the main 1st line comment but > will only save if other settings are modified. > > Maybe this is not quite what you want but at least you can see how easy it > is to import a gambas component and modify it to suit your own needs. > > It is one of the great things about gambas, so much of it is written in > gambas and quite easy to import and customise to your own needs. > > Best of luck > BruceS > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: AltSettings.zip Type: application/zip Size: 29400 bytes Desc: not available URL: From g4mba5 at gmail.com Tue Feb 9 20:36:11 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 20:36:11 +0100 Subject: [Gambas-user] New feature in the Array classes Message-ID: Hi, Following the recent optimizations on the array classes (that apparently made array access about 15% faster), I added a new property named "Sorted" to the array classes. If you set that property to TRUE, it will tell the interpreter that the array is sorted. Then, the Find() and Exist() method will use a faster binary search algorithm instead of a sequential one. But it's up to you to maintain the array sorted. If Array.Sorted is TRUE, and the array is not actually sorted, the result of Find() and Exist() will be false. If Find() does not find the element, instead of returning -1, it will return a negative value indicating where the unfound element must be inserted in the array to keep it sorted. If Find() returns the value -N, then the unfound element must be inserted at position is (N - 1). Enjoy! -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 9 20:37:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 20:37:21 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: Message-ID: <53b9d711-7a35-8951-48ed-4333977af4ee@gmail.com> Le 09/02/2021 ? 20:36, Beno?t Minisini a ?crit?: > If Find() returns the value -N, then the unfound element must be > inserted at position is (N - 1). > ...at position (N - 1). -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 9 20:51:48 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 19:51:48 +0000 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: Message-ID: On Tue, 9 Feb 2021 at 19:37, Beno?t Minisini wrote: > Hi, > > Following the recent optimizations on the array classes (that apparently > made array access about 15% faster), I added a new property named > "Sorted" to the array classes. > > If you set that property to TRUE, it will tell the interpreter that the > array is sorted. > > Then, the Find() and Exist() method will use a faster binary search > algorithm instead of a sequential one. > > But it's up to you to maintain the array sorted. If Array.Sorted is > TRUE, and the array is not actually sorted, the result of Find() and > Exist() will be false. > > If Find() does not find the element, instead of returning -1, it will > return a negative value indicating where the unfound element must be > inserted in the array to keep it sorted. > > If Find() returns the value -N, then the unfound element must be > inserted at position is (N - 1). > > Enjoy! > Thank you :) Does Array.Add() support negative values? A quick... *myArray.Add(sText , myArray.Find(sText))* to keep things sorted. or might a new *myArray.AddSorted(sText)* command be possible for us? Many thanks Ben :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 9 20:55:50 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 20:55:50 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: Message-ID: <6bf0c1f0-a79e-eba5-a8df-b261517f8a7c@gmail.com> Le 09/02/2021 ? 20:51, Bruce Steers a ?crit?: > > On Tue, 9 Feb 2021 at 19:37, Beno?t Minisini > wrote: > > Hi, > > Following the recent optimizations on the array classes (that > apparently > made array access about 15% faster), I added a new property named > "Sorted" to the array classes. > > If you set that property to TRUE, it will tell the interpreter that the > array is sorted. > > Then, the Find() and Exist() method will use a faster binary search > algorithm instead of a sequential one. > > But it's up to you to maintain the array sorted. If Array.Sorted is > TRUE, and the array is not actually sorted, the result of Find() and > Exist() will be false. > > If Find() does not find the element, instead of returning -1, it will > return a negative value indicating where the unfound element must be > inserted in the array to keep it sorted. > > If Find() returns the value -N, then the unfound element must be > inserted at position is (N - 1). > > Enjoy! > > > Thank you :) > > Does Array.Add() support negative values? Of course not. Reread the last lines of my mail. > A quick... > *myArray.Add(sText , myArray.Find(sText))* > to keep things sorted. > or might a new > *myArray.AddSorted(sText)* command be possible for us? You usually first search for an element, and then insert it if it does not exist. So I find cumbersome to add a new Add() method in each array class for that. -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 9 20:56:43 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 19:56:43 +0000 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <53b9d711-7a35-8951-48ed-4333977af4ee@gmail.com> References: <53b9d711-7a35-8951-48ed-4333977af4ee@gmail.com> Message-ID: On Tue, 9 Feb 2021 at 19:38, Beno?t Minisini wrote: > Le 09/02/2021 ? 20:36, Beno?t Minisini a ?crit : > > If Find() returns the value -N, then the unfound element must be > > inserted at position is (N - 1). > > > > ...at position (N - 1). > hmm , (N - 1) or (N - 1) I'm not sure what one to use ;) (0 - N) would be my first guess ;) correction to my last reply.. A quick... *myArray.Add(sText , 0 - myArray.Find(sText))* to keep things sorted. Wishing well. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobs at taboege.de Tue Feb 9 20:54:17 2021 From: tobs at taboege.de (Tobias Boege) Date: Tue, 9 Feb 2021 20:54:17 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: Message-ID: <20210209195417.GA1608010@T580.localdomain> On Tue, 09 Feb 2021, Beno?t Minisini wrote: > Hi, > > Following the recent optimizations on the array classes (that apparently > made array access about 15% faster), I added a new property named "Sorted" > to the array classes. > > If you set that property to TRUE, it will tell the interpreter that the > array is sorted. > > Then, the Find() and Exist() method will use a faster binary search > algorithm instead of a sequential one. > > But it's up to you to maintain the array sorted. If Array.Sorted is TRUE, > and the array is not actually sorted, the result of Find() and Exist() will > be false. > The performance benefit of this will probably be very nice wherever it can be reliably exploited. But I am a little concerned about Sorted being a property of the object instead of an optional argument to the two methods that make use of it. For these two related reasons: - If I write a library that uses arrays passed in by the user, I now have to take care to reset the Sorted property (which may have been set by the user earlier) whenever I do an operation which cannot guarantee that the order is maintained. Otherwise my code is potentially buggy. (All code people wrote to this day which modifies arrays and then searches in them is now potentially buggy, because they don't reset Sorted.) - Moreover, there is an API breakage even when you use arrays only in a read-only fashion. When someone passes into my trusty Gambas library written for the stable v3.12, which is still working fine otherwise, an array with Sorted = True, of which my old code is unaware, and I call Find() on it and compare it to the previously documented value -1 indicating "not found", my code is now buggy, as in Sorted mode I have to compare with < 0 to see if the value was not found. These wouldn't be problems if the *caller* of the method could opt into binary search, instead of everyone who had a reference to the object at some point in the program's lifetime making that choice for code that is unaware of that feature. Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bsteers4 at gmail.com Tue Feb 9 21:01:41 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 9 Feb 2021 20:01:41 +0000 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <6bf0c1f0-a79e-eba5-a8df-b261517f8a7c@gmail.com> References: <6bf0c1f0-a79e-eba5-a8df-b261517f8a7c@gmail.com> Message-ID: On Tue, 9 Feb 2021 at 19:56, Beno?t Minisini wrote: > Le 09/02/2021 ? 20:51, Bruce Steers a ?crit : > > > > On Tue, 9 Feb 2021 at 19:37, Beno?t Minisini > > wrote: > > > > Hi, > > > > Following the recent optimizations on the array classes (that > > apparently > > made array access about 15% faster), I added a new property named > > "Sorted" to the array classes. > > > > If you set that property to TRUE, it will tell the interpreter that > the > > array is sorted. > > > > Then, the Find() and Exist() method will use a faster binary search > > algorithm instead of a sequential one. > > > > But it's up to you to maintain the array sorted. If Array.Sorted is > > TRUE, and the array is not actually sorted, the result of Find() and > > Exist() will be false. > > > > If Find() does not find the element, instead of returning -1, it will > > return a negative value indicating where the unfound element must be > > inserted in the array to keep it sorted. > > > > If Find() returns the value -N, then the unfound element must be > > inserted at position is (N - 1). > > > > Enjoy! > > > > > > Thank you :) > > > > Does Array.Add() support negative values? > > Of course not. Reread the last lines of my mail. > > > A quick... > > *myArray.Add(sText , myArray.Find(sText))* > > to keep things sorted. > > or might a new > > *myArray.AddSorted(sText)* command be possible for us? > > You usually first search for an element, and then insert it if it does > not exist. So I find cumbersome to add a new Add() method in each array > class for that. > Aaah yes of course. I was just looking for the easiest way to implement a "must be" sorted array utilising the new Find() return value. Many thanks BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 9 21:12:18 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 21:12:18 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <20210209195417.GA1608010@T580.localdomain> References: <20210209195417.GA1608010@T580.localdomain> Message-ID: <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> Le 09/02/2021 ? 20:54, Tobias Boege a ?crit?: > On Tue, 09 Feb 2021, Beno?t Minisini wrote: >> Hi, >> >> Following the recent optimizations on the array classes (that apparently >> made array access about 15% faster), I added a new property named "Sorted" >> to the array classes. >> >> If you set that property to TRUE, it will tell the interpreter that the >> array is sorted. >> >> Then, the Find() and Exist() method will use a faster binary search >> algorithm instead of a sequential one. >> >> But it's up to you to maintain the array sorted. If Array.Sorted is TRUE, >> and the array is not actually sorted, the result of Find() and Exist() will >> be false. >> > > The performance benefit of this will probably be very nice wherever > it can be reliably exploited. > > But I am a little concerned about Sorted being a property of the object > instead of an optional argument to the two methods that make use of it. > For these two related reasons: > > - If I write a library that uses arrays passed in by the user, > I now have to take care to reset the Sorted property (which may > have been set by the user earlier) whenever I do an operation > which cannot guarantee that the order is maintained. Otherwise > my code is potentially buggy. (All code people wrote to this day > which modifies arrays and then searches in them is now potentially > buggy, because they don't reset Sorted.) > > - Moreover, there is an API breakage even when you use arrays only > in a read-only fashion. When someone passes into my trusty Gambas > library written for the stable v3.12, which is still working fine > otherwise, an array with Sorted = True, of which my old code is > unaware, and I call Find() on it and compare it to the previously > documented value -1 indicating "not found", my code is now buggy, > as in Sorted mode I have to compare with < 0 to see if the value > was not found. > > These wouldn't be problems if the *caller* of the method could opt into > binary search, instead of everyone who had a reference to the object at > some point in the program's lifetime making that choice for code that > is unaware of that feature. > > Best, > Tobias > You are right, Array.Sorted is a bad idea. I was concerned of not adding too many new methods, but apparently it is unavoidable! -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 9 23:38:53 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 9 Feb 2021 23:38:53 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> Message-ID: <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> Le 09/02/2021 ? 21:12, Beno?t Minisini a ?crit?: > > You are right, Array.Sorted is a bad idea. I was concerned of not adding > too many new methods, but apparently it is unavoidable! > I have replaced Array.Sorted property by explicit methods FindSorted(), ExistSorted(), FindByRefSorted() and ExistByRefSorted(). Normally, with that, everything is backward-compatible. Regards, -- Beno?t Minisini From gambas.fr at gmail.com Tue Feb 9 23:57:30 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 9 Feb 2021 23:57:30 +0100 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> Message-ID: All of that remember me that it will be cool to have a yaml class too ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Feb 10 17:59:24 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 10 Feb 2021 11:59:24 -0500 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> Message-ID: On 2/9/21 5:38 PM, Beno?t Minisini wrote: > I have replaced Array.Sorted property by explicit methods FindSorted(), ExistSorted(),?FindByRefSorted()?and?ExistByRefSorted(). > > Normally,?with?that,?everything?is?backward-compatible. Wouldn't adding an optional parameter serve the purpose *and* eliminate the need for more methods? Or, would that add too much complexity? -- Lee From g4mba5 at gmail.com Wed Feb 10 18:05:05 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 10 Feb 2021 18:05:05 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> Message-ID: <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> Le 10/02/2021 ? 17:59, T Lee Davidson a ?crit?: > On 2/9/21 5:38 PM, Beno?t Minisini wrote: >> I have replaced Array.Sorted property by explicit methods >> FindSorted(), ExistSorted(),?FindByRefSorted()?and?ExistByRefSorted(). >> >> Normally,?with?that,?everything?is?backward-compatible. > > Wouldn't adding an optional parameter serve the purpose *and* eliminate > the need for more methods? Or, would that add too much complexity? > For backward-compatibility, I think it's better to leave the current method untouched. Regards, -- Beno?t Minisini From jussi.lahtinen at gmail.com Wed Feb 10 18:55:55 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 19:55:55 +0200 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> Message-ID: > For backward-compatibility, I think it's better to leave the current > method untouched. > Because of method overriding? It would be nice, if you could leave out optional arguments when overriding, then this could also be implemented as optional argument. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Wed Feb 10 18:56:50 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 19:56:50 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: So, how is it, what is the correct behaviour? Jussi On Tue, Feb 9, 2021 at 4:41 AM Jussi Lahtinen wrote: > If preserving the dimensions is not possible, then I think error should be > raised instead of conversion. > Because otherwise it could be hard to debug where the error originates. > And there probably is existing code that relies on the preservation of the > dimensions. > > Jussi > > On Tue, Feb 9, 2021 at 4:23 AM Jussi Lahtinen > wrote: > >> >> At MTest.1963, you pass a 10x10 boolean array to a function that gets an >>> Integer array as argument, and returns its number of dimensions. >>> >>> The interpreter converts the 10x10 boolean array into a 100 elements >>> Integer array, and returns 1. >>> >>> But you apparently expect that function to return 2. >>> >>> So I'm surprised... >>> >> >> That is old code and it has never triggered an error. So, Gambas used to >> preserve the dimensions on conversion. >> Is that not possible anymore? >> >> >> Jussi >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 10 19:02:00 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 10 Feb 2021 18:02:00 +0000 Subject: [Gambas-user] Settings file - preserver comments In-Reply-To: References: <8a8a433b-45e2-cf09-345e-65ff22942f5e@gmail.com> <56892e38-8b0b-05ac-39e8-6c5941cea20c@gmail.com> Message-ID: >> No, because the settings file format is internal, and can change at > >> any moment without notice. > >> > >> The fact that it looks like Windows '*.ini' file is a pure coincidence. > > > > If comments are not preserved, then why provide for them at all? > > > > One comment is allowed. Otherwise, you should not suppose anything on > how Settings stores the data. > > Maybe I should have been more clear with that... > I added this to the wiki gb.settings page just above where it goes into full detail about the format of the settings file. http://gambaswiki.org/wiki/comp/gb.settings?l=enConfiguration File Syntax Warning: The information below can be useful but the Settings file syntax is considered "internal" and is subject to change without notice at any time so the information is unreliable. It is recommended to *NOT* access the configuration files directly in your application as the format may change. Use the Settings.class instead. Wishing well :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Feb 10 19:07:29 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 10 Feb 2021 19:07:29 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: Le 10/02/2021 ? 18:56, Jussi Lahtinen a ?crit?: > So, how is it, what is the correct behaviour? > > Jussi > Sorry, I told you rubbish, there is a bug in the automatic conversion routine. I fix it, and everything will be correct. Would it be possible for you to modify your test program by adding log messages about what is tested actually, at each step? With a unique test identifier? For example, maybe you can make test groups and sub-groups, and use as identifier something like "1.1.1, 1.1.2, 1.1.3, 1.2, 1.3, 2.1" and so on. (I'm not sure I am very clear...) The test program would just print: Test 1.1.1... OK Test 1.1.2... OK Test 1.1.3... OK Test 1.2... OK Test 1.3... FAIL! You can even use the standard format used by 'gb.test' component. (I even guess Christof would tell you that it should be rewrite as a 'gb.test' test suite!) That way you program could become part of an automatic test of the interpreter. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Wed Feb 10 19:21:35 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 10 Feb 2021 19:21:35 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: <449d8d3f-d276-c029-1635-96a1f7aae3a1@gmail.com> Le 10/02/2021 ? 19:07, Beno?t Minisini a ?crit?: > Le 10/02/2021 ? 18:56, Jussi Lahtinen a ?crit?: >> So, how is it, what is the correct behaviour? >> >> Jussi >> > > Sorry, I told you rubbish, there is a bug in the automatic conversion > routine. I fix it, and everything will be correct. > > Would it be possible for you to modify your test program by adding log > messages about what is tested actually, at each step? With a unique test > identifier? > > For example, maybe you can make test groups and sub-groups, and use as > identifier something like "1.1.1, 1.1.2, 1.1.3, 1.2, 1.3, 2.1" and so on. > > (I'm not sure I am very clear...) > > The test program would just print: > Test 1.1.1... OK > Test 1.1.2... OK > Test 1.1.3... OK > Test 1.2... OK > Test 1.3... FAIL! > > You can even use the standard format used by 'gb.test' component. > > (I even guess Christof would tell you that it should be rewrite as a > 'gb.test' test suite!) > > That way you program could become part of an automatic test of the > interpreter. > > Regards, > Fixed in commit https://gitlab.com/gambas/gambas/-/commit/1609a6c60a7b0d110dfcd8ae048850181f686004. Regards, -- Beno?t Minisini From jussi.lahtinen at gmail.com Wed Feb 10 19:39:10 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 20:39:10 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: > > Sorry, I told you rubbish, there is a bug in the automatic conversion > routine. I fix it, and everything will be correct. > OK, no problem. Would it be possible for you to modify your test program by adding log > messages about what is tested actually, at each step? With a unique test > identifier? > > For example, maybe you can make test groups and sub-groups, and use as > identifier something like "1.1.1, 1.1.2, 1.1.3, 1.2, 1.3, 2.1" and so on. > > (I'm not sure I am very clear...) > > The test program would just print: > Test 1.1.1... OK > Test 1.1.2... OK > Test 1.1.3... OK > Test 1.2... OK > Test 1.3... FAIL! > Right now it will give a line number of the test(s) that does fail. And OK, if none of the tests fails. This was chosen, because it is very quick to implement (and check the results). And it really is one ugly mess, never quite intended to be a set of clean separated tests. Some of the tests are from previous crashes, some are just weird and/or bad code to provoke possible problems. It would be huge work and I don't quite see it is worth the trouble. If anything, I should add a bit more stuff into it. The data folder has two files that contain the tested keywords, if that is the concern. You can even use the standard format used by 'gb.test' component. > > (I even guess Christof would tell you that it should be rewrite as a > 'gb.test' test suite!) > If I remember correctly, the test suite has flaw that make me not want to use it. It does run the tests as separate processes..? That greatly increases chances that possible side-effects will *not* be exposed. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Wed Feb 10 21:07:27 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 22:07:27 +0200 Subject: [Gambas-user] Bug with conversion? Message-ID: There seems to be a case where Gambas does extra conversions or maybe I'm missing something. See attachment. Look at the improved ArrayBoundsTest() function. >From these lines: Debug gb.Integer Debug TypeOf(iMyArray1.Bounds.Count);; TypeOf(iMyArray2.Bounds.Count);; TypeOf(iMyArray3.Bounds.Count);; TypeOf(iMyArray4.Bounds.Count) Debug [iMyArray1.Bounds.Count, iMyArray2.Bounds.Count, iMyArray3.Bounds.Count, iMyArray4.Bounds.Count] This is what I get: mTest.ArrayBoundsTest.2548: 4 mTest.ArrayBoundsTest.2549: 4 4 4 4 mTest.ArrayBoundsTest.2550: (Variant[] 0x559e6c3b9178) I would expect integer[]. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasTestercmd-0.10.24.tar.gz Type: application/gzip Size: 30192 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Wed Feb 10 21:13:50 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 22:13:50 +0200 Subject: [Gambas-user] Bug with conversion? In-Reply-To: References: Message-ID: Umm... I guess the types are not known when the array is initialized? Jussi On Wed, Feb 10, 2021 at 10:07 PM Jussi Lahtinen wrote: > There seems to be a case where Gambas does extra conversions or maybe I'm > missing something. See attachment. > > Look at the improved ArrayBoundsTest() function. > > From these lines: > Debug gb.Integer > Debug TypeOf(iMyArray1.Bounds.Count);; TypeOf(iMyArray2.Bounds.Count);; > TypeOf(iMyArray3.Bounds.Count);; TypeOf(iMyArray4.Bounds.Count) > Debug [iMyArray1.Bounds.Count, iMyArray2.Bounds.Count, > iMyArray3.Bounds.Count, iMyArray4.Bounds.Count] > > This is what I get: > mTest.ArrayBoundsTest.2548: 4 > mTest.ArrayBoundsTest.2549: 4 4 4 4 > mTest.ArrayBoundsTest.2550: (Variant[] 0x559e6c3b9178) > > I would expect integer[]. > > > Jussi > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Feb 10 21:15:03 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 10 Feb 2021 21:15:03 +0100 Subject: [Gambas-user] Bug with conversion? In-Reply-To: References: Message-ID: <647905e9-af2c-aee5-2e9e-55b8da235f35@gmail.com> Le 10/02/2021 ? 21:07, Jussi Lahtinen a ?crit?: > There seems to be a case where Gambas does extra conversions or maybe > I'm missing something. See attachment. > > Look at the improved ArrayBoundsTest() function. > > From these lines: > Debug gb.Integer > Debug TypeOf(iMyArray1.Bounds.Count);; TypeOf(iMyArray2.Bounds.Count);; > TypeOf(iMyArray3.Bounds.Count);; TypeOf(iMyArray4.Bounds.Count) > Debug [iMyArray1.Bounds.Count, iMyArray2.Bounds.Count, > iMyArray3.Bounds.Count, iMyArray4.Bounds.Count] > This is what I get: > mTest.ArrayBoundsTest.2548: 4 > mTest.ArrayBoundsTest.2549: 4 4 4 4 > mTest.ArrayBoundsTest.2550: (Variant[] 0x559e6c3b9178) > > I would expect integer[]. > > > Jussi > iMyArray1 is an Object, i.e. can by any object datatype. So the interpreter can't assume that iMyArray1.Bounds.Count is an integer. It could be anything, according to the actual class of iMyArray1, and if i has a Bounds property that has a Count property. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Wed Feb 10 21:15:34 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 10 Feb 2021 21:15:34 +0100 Subject: [Gambas-user] Bug with conversion? In-Reply-To: <647905e9-af2c-aee5-2e9e-55b8da235f35@gmail.com> References: <647905e9-af2c-aee5-2e9e-55b8da235f35@gmail.com> Message-ID: Le 10/02/2021 ? 21:15, Beno?t Minisini a ?crit?: > > iMyArray1 is an Object, i.e. can by any object datatype. So the > interpreter can't assume that iMyArray1.Bounds.Count is an integer. It > could be anything, according to the actual class of iMyArray1, and if i ...and if it > has a Bounds property that has a Count property. > > Regards, > -- Beno?t Minisini From jussi.lahtinen at gmail.com Wed Feb 10 21:20:13 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 10 Feb 2021 22:20:13 +0200 Subject: [Gambas-user] Bug with conversion? In-Reply-To: <647905e9-af2c-aee5-2e9e-55b8da235f35@gmail.com> References: <647905e9-af2c-aee5-2e9e-55b8da235f35@gmail.com> Message-ID: Thanks for clarification. That is what I suspected right after sending the question. Jussi On Wed, Feb 10, 2021 at 10:16 PM Beno?t Minisini wrote: > Le 10/02/2021 ? 21:07, Jussi Lahtinen a ?crit : > > There seems to be a case where Gambas does extra conversions or maybe > > I'm missing something. See attachment. > > > > Look at the improved ArrayBoundsTest() function. > > > > From these lines: > > Debug gb.Integer > > Debug TypeOf(iMyArray1.Bounds.Count);; TypeOf(iMyArray2.Bounds.Count);; > > TypeOf(iMyArray3.Bounds.Count);; TypeOf(iMyArray4.Bounds.Count) > > Debug [iMyArray1.Bounds.Count, iMyArray2.Bounds.Count, > > iMyArray3.Bounds.Count, iMyArray4.Bounds.Count] > > This is what I get: > > mTest.ArrayBoundsTest.2548: 4 > > mTest.ArrayBoundsTest.2549: 4 4 4 4 > > mTest.ArrayBoundsTest.2550: (Variant[] 0x559e6c3b9178) > > > > I would expect integer[]. > > > > > > Jussi > > > > iMyArray1 is an Object, i.e. can by any object datatype. So the > interpreter can't assume that iMyArray1.Bounds.Count is an integer. It > could be anything, according to the actual class of iMyArray1, and if i > has a Bounds property that has a Count property. > > Regards, > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Feb 11 00:38:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 11 Feb 2021 00:38:21 +0100 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> Message-ID: <15319dfb-8bae-c35f-b17d-3545e1d3efca@gmail.com> Le 02/02/2021 ? 22:23, Bruce a ?crit?: > On 3/2/21 1:16 am, Beno?t Minisini wrote: >> Le 01/02/2021 ? 22:28, Bruce a ?crit?: >>> I have created a gitlab project at >>> https://gitlab.com/brucebruen/gb.statistics >>> >>> Is it useable? >>> b >>> >> >> A question: why didn't you ask to extend the gb.gsl component by >> providing interfaces to its statistics functions? >> >> https://www.gnu.org/software/gsl/doc/html/statistics.html >> > > Several reasons, but mainly that it is pure Gambas, no external calls. > In fact I started that way but it was quicker to write the functions > than work out the interfacing parameters. > b > Hi, Bruce. I have extended the 'gb.gsl' component with the statistics functions in provides. The Float[] has been extended with a "Stat" virtual property so that you can issue FloatArray.Stat.StatFunc() to apply StatFunc on FloatArray. I notice that you have other functions in your 'gb.statistics' component, so I suggest adding a Gambas part to the gb.gsl component that could include the missing statistic functions, which could be rewritten on top on the existing GSL ones when it makes sense. What do you think? I'm not a statistic man, so I ask you. -- Beno?t Minisini From chrisml at deganius.de Thu Feb 11 00:44:20 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Thu, 11 Feb 2021 00:44:20 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: <8abda066-938c-deb2-37a4-f048849060d4@deganius.de> Am 10.02.21 um 19:39 schrieb Jussi Lahtinen: > > You can even use the standard format used by 'gb.test' component. > > (I even guess Christof would tell you that it should be rewrite as a > 'gb.test' test suite!) > > > If I remember correctly, the test suite has flaw that make me not want > to use it. > It does run the tests as separate processes..? That greatly increases > chances that possible side-effects will *not* be exposed. I have to disagree. The test suite runs inside a program as it is and inspects it from inside ? it has the same position as every part of the real program ? think of it as an additional method which exists as long as the test runs. Only the public interfaces inside the program itself can be tested with it. This was made intentionally to prevent that it can alter the behavior of the program itself. You are not able to look into a method with gb.test, you can only test whether a method creates the expected output. As long as the programmer of tests does not alter the state of public variables inside the program intentionally with tests it will always see the program in a virgin state. So there is no need to run every test in a separate process. Even more: Running every test in a separate process would make real world unit testing nearly impossible. gb.test is an unit testing instrument which does the same as other unit testing systems in other computer languages ? less or more. This is a well known concept which for sure has its limits. But none of them would be prevented by running the tests (or parts of them) in separate processes. The only side effects created by gb.test i can think of are timing effects as the interpreter does some extra rounds with the cpu. -------------- Jussi, if you want maybe I could help you to integrate gb.test into your test program? At least ? couldn't we try it out? For me it would be fun and it would also be a good test for gb.test. If we succeed we would make Gambas more stable with it. :-) Where is your test program? 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 jussi.lahtinen at gmail.com Thu Feb 11 01:02:25 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 11 Feb 2021 02:02:25 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: <8abda066-938c-deb2-37a4-f048849060d4@deganius.de> References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> <8abda066-938c-deb2-37a4-f048849060d4@deganius.de> Message-ID: On Thu, Feb 11, 2021 at 1:45 AM Christof Thalhofer wrote: > Am 10.02.21 um 19:39 schrieb Jussi Lahtinen: > > > > You can even use the standard format used by 'gb.test' component. > > > > (I even guess Christof would tell you that it should be rewrite as a > > 'gb.test' test suite!) > > > > > > If I remember correctly, the test suite has flaw that make me not want > > to use it. > > It does run the tests as separate processes..? That greatly increases > > chances that possible side-effects will *not* be exposed. > > I have to disagree. The test suite runs inside a program as it is and > inspects it from inside ? it has the same position as every part of the > real program ? think of it as an additional method which exists as long > as the test runs. Only the public interfaces inside the program itself > can be tested with it. This was made intentionally to prevent that it > can alter the behavior of the program itself. > > You are not able to look into a method with gb.test, you can only test > whether a method creates the expected output. > > As long as the programmer of tests does not alter the state of public > variables inside the program intentionally with tests it will always see > the program in a virgin state. > > So there is no need to run every test in a separate process. Even more: > Running every test in a separate process would make real world unit > testing nearly impossible. > > gb.test is an unit testing instrument which does the same as other unit > testing systems in other computer languages ? less or more. This is a > well known concept which for sure has its limits. But none of them would > be prevented by running the tests (or parts of them) in separate processes. > > The only side effects created by gb.test i can think of are timing > effects as the interpreter does some extra rounds with the cpu. > > -------------- > > Jussi, if you want maybe I could help you to integrate gb.test into your > test program? At least ? couldn't we try it out? For me it would be fun > and it would also be a good test for gb.test. > > If we succeed we would make Gambas more stable with it. > > :-) > > Where is your test program? > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > I don't quite follow your explanation. Can you give me an example project on how to use it? I did not say that the test suite causes side-effects, I said it prevents them from being exposed. The tester I have used (it has exposed a lot of bugs!) is in the software farm with the name GambasTester. I don't think it is translatable to the test suite as it has a very different philosophy behind it. I think your test suite is the best option for testing code you have written with Gambas. And what I wrote is more like cumulative fuzzer output. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Feb 11 10:51:00 2021 From: adamnt42 at gmail.com (Bruce) Date: Thu, 11 Feb 2021 20:21:00 +1030 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: <15319dfb-8bae-c35f-b17d-3545e1d3efca@gmail.com> References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> <15319dfb-8bae-c35f-b17d-3545e1d3efca@gmail.com> Message-ID: On 11/2/21 10:08 am, Beno?t Minisini wrote: > > Hi, Bruce. > > I have extended the 'gb.gsl' component with the statistics functions in > provides. The Float[] has been extended with a "Stat" virtual property > so that you can issue FloatArray.Stat.StatFunc() to apply StatFunc on > FloatArray. > > I notice that you have other functions in your 'gb.statistics' > component, so I suggest adding a Gambas part to the gb.gsl component > that could include the missing statistic functions, which could be > rewritten on top on the existing GSL ones when it makes sense. > > What do you think? I'm not a statistic man, so I ask you. > Thanks for your interest Beno?t.I have had a look through the gb.gsl additions as best I can. I have about 30% of my eyesight left and reaing C+ is very hard at best. This message is being typed by my helper, so excuse any technical oddities. As you indicted before, gsl does provide a lot of the stats functions. So why not use them? Indeed. One of the goals I had was a consistent interface, that was also "sensible towards a casual user of the functions. So the "X" parameter wasalways the X axis and "Y" was always the values at the X point. Of course with single variable data sets "x" is all that is required. Frome memory some of the gsl routines expect the data for multivariate analysis in different orders. Nevertheless. As regards the 'missing functions" some are very important. I don't recall a "weighted mean" function in gsl nor do I recall the ranking functions. Weighted means are important when doing time series analysis and either the most recent sample is more impoetant than the least recent. The ranking functions are not really tatistics but are very handy to geta rank value when the sample array is deliberately not sorted. One other observation, if stats were done entirely in Gambas then it would be of gsl interface changes. (Not a biggy.) [From Joanne] Wehave to go nowand do other things like cook his dinner, we will post more next visit. I hope I have typed his dictation right! regards bruce [He insists i type his name with a lower case "b"?] From chrisml at deganius.de Thu Feb 11 14:08:08 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Thu, 11 Feb 2021 14:08:08 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> <8abda066-938c-deb2-37a4-f048849060d4@deganius.de> Message-ID: Am 11.02.21 um 01:02 schrieb Jussi Lahtinen: > I don't quite follow your explanation. Can you give me an example > project on how to use it? > I did not say that the test suite causes side-effects, I said it > prevents them from being exposed. > > The tester I have used (it has exposed a lot of bugs!) is in the > software farm with the name GambasTester. > I don't think it is translatable to the test suite as it has a very > different philosophy behind it. > I think your test suite is the best option for testing code you have > written with Gambas. And what I wrote is more like cumulative fuzzer output. Ok, I'll have a look at it. gb.test's main task is running and documentation of tests. gb.test handles and reports crashes. So if you want to crash Gambas and want to get reported that a specific crash "is good", gb.text is able to handle that and report it. For example you can see gb.test here, it's a Gambas project you can run independently on your machine. Its in the sources here: gambas3/main/lib/test/gb.test/ https://gitlab.com/gambas/gambas/-/tree/master/main/lib/test/gb.test It has tests to test itself in the 'TestMyself' folder. You can play around with these. In the 'TCrashes' test module you find this (it will create a crash and the test will fail because of this): > Public Sub DoACrash() > > Dim a As Long > > 'This is a crash > a = 3 / 0 > > End If you choose it with 'Shift-F4' and then run it with 'F4' gb.test will report for this special test: 'not ok 1 - TCrashes:DoACrash' But you can revert the output of gb.test (with Test.IntendedFailure) and say that there is an error if the crash does not happen! > Public Sub DoACrash() > > Dim a As Long > > Test.IntendedFailure() > > 'This is a crash > a = 3 / 0 > > End Then gb.test reports: "ok 1 - TCrashes:DoACrash crashed with error 'Division by zero'" And if the crash does not happen (for instance if 'a = 3') then gb.test reports: 'not ok 1 - TCrashes:DoACrash' 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 g4mba5 at gmail.com Thu Feb 11 15:04:45 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 11 Feb 2021 15:04:45 +0100 Subject: [Gambas-user] Proposed "gb.statistics" component - volunteer(s) requested In-Reply-To: References: <93cb2c6e-3490-db8f-b7f4-411ae82a7bdf@gmail.com> <20210128234121.GB225026@highrise.localdomain> <69ba477d-58ac-65f3-63be-986c602969cb@gmail.com> <15319dfb-8bae-c35f-b17d-3545e1d3efca@gmail.com> Message-ID: Le 11/02/2021 ? 10:51, Bruce a ?crit?: > > Thanks for your interest Beno?t.I have had a look through the gb.gsl > additions as best I can. I have about 30% of my eyesight left and reaing > C+ is very hard at best. This message is being typed by my helper, so > excuse any technical oddities. No problem. I usually forget your constraints, sorry for that! > > As you indicted before, gsl does provide a lot of the stats functions. > So why not use them? Indeed. > > One of the goals I had was a consistent interface, that was also > "sensible towards a casual user of the functions. So the "X" parameter > wasalways the X axis and "Y" was always the values at the X point. Of > course with single variable data sets "x" is all that is required. Frome > memory some of the gsl routines expect the data for multivariate > analysis in different orders. Nevertheless. All gsl statistic functions work on one-dimension array of floats. > > As regards the 'missing functions" some are very important. I don't > recall a "weighted mean" function in gsl nor do I recall the ranking > functions. Weighted means are important when doing time series analysis > and either the most recent sample is more impoetant than the least > recent. As there is no optional argument in C functions, there is usually one function for each case : one for the mean, one for the weighted mean, and so on. But in Gambas, I have optional arguments, so I can merge everything in one function. So the weights became an optional array argument of the statistics function. For example : Dim A As Float[] Dim Weights As Float[] ... ' Returns the mean A.Mean() ' Returns the weighted mean, provided that both arrays have the ' same number of elements A.Mean(Weights) The automatic completion should make that clear, as there is no documentation written yet. > The ranking functions are not really tatistics but are very > handy to geta rank value when the sample array is deliberately not sorted. You can get the lower and greater value of the array. Otherwise, there is one function I didn't implement that returns the n-th minimum element. Maybe this is what you are talking about? > > One other observation, if stats were done entirely in Gambas then it > would be of gsl interface changes. (Not a biggy.) Sorry, I didn't understand that sentence. Regards, -- Beno?t Minisini From dahaiou at gmail.com Thu Feb 11 16:07:07 2021 From: dahaiou at gmail.com (dahaiou at gmail.com) Date: Thu, 11 Feb 2021 16:07:07 +0100 Subject: [Gambas-user] =?utf-8?q?Warning_popup=3A_=E2=80=9CNo_terminal_em?= =?utf-8?b?dWxhdG9yIGZvdW5k4oCd?= Message-ID: <01d601d70087$95b48660$c11d9320$@gmail.com> Hello, Thanks for the help a few days ago to get gambas working. First thing I did was create a console application, taking the stock ?Hello World? template, and adding a couple of bells ? whistles to follow soon hopefully. See ?CODE? below. The program works as expected, when compiled and outside the IDE, but whenever I launch it from within the IDE I get a popup message ?No terminal emulator found?. After simply cancelling the popup it still runs correctly in the IDE, but the popup appears again, on every execution. It?s a minor nuisance but I?m sure it?s not meant to work that way. I am guessing it is some kind of easily fixable configuration issue, but not sure how to go about it. How can I fix it? best, Henrik here?s the code so far: =========== CODE =================== Public Sub Main() Dim name As String name = "Buster" Print "Whaz your name then, eh? "; Flush Line Input name Print "Hello " & name & ". See you made it here too..." Print "Bye." End =========== CODE =================== -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Feb 11 16:20:09 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 11 Feb 2021 16:20:09 +0100 Subject: [Gambas-user] =?utf-8?q?Warning_popup=3A_=E2=80=9CNo_terminal_em?= =?utf-8?b?dWxhdG9yIGZvdW5k4oCd?= In-Reply-To: <01d601d70087$95b48660$c11d9320$@gmail.com> References: <01d601d70087$95b48660$c11d9320$@gmail.com> Message-ID: Le 11/02/2021 ? 16:07, dahaiou at gmail.com a ?crit?: > Hello, > > Thanks for the help a few days ago to get gambas working. > > First thing I did was create a console application, taking the stock > ?Hello World? template, > > and adding a couple of bells ? whistles to follow soon hopefully. See > ?CODE? below. > > The program works as expected, when compiled and outside the IDE, but > whenever > > I launch it from within the IDE I get a popup message ?No terminal > emulator found?. > > After simply cancelling the popup it still runs correctly in the IDE, > but the popup appears > > again, on every execution. It?s a minor nuisance but I?m sure it?s not > meant to work that way. > > I am guessing it is some kind of easily fixable configuration issue, > > but not sure how to go about it. > > How can I fix it? > > best, Henrik > Did you check the "Use terminal emulator" option in the "Debug" menu? -- Beno?t Minisini From bsteers4 at gmail.com Thu Feb 11 16:29:31 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 11 Feb 2021 15:29:31 +0000 Subject: [Gambas-user] =?utf-8?q?Warning_popup=3A_=E2=80=9CNo_terminal_em?= =?utf-8?b?dWxhdG9yIGZvdW5k4oCd?= In-Reply-To: <01d601d70087$95b48660$c11d9320$@gmail.com> References: <01d601d70087$95b48660$c11d9320$@gmail.com> Message-ID: Please let us know what version of Gambas you are using and what system so we can better help. I think maybe you should re-install your wsl it seems broken in more ways than one. with the problems you had with qt5 libs and now this i think maybe your linux has many problems. I do not have any of these issues on my Ubuntu 20.04. But i do not use windows so my ubuntu is not an emulated one. Is your system up to date? *sudo apt-get update* *sudo *apt-get full-upgrade Or maybe you still did not clean out your old gambas properly. *sudo apt-get remove gambas3** *sudo rm -rf /usr/libs/gambas3* *sudo rm -rf /usr/share/gambas3* *sudo rm -rf /usr/bin/gb** *sudo apt-get install gambas3** maybe the compilation install may do a better job? BruceS On Thu, 11 Feb 2021 at 15:08, wrote: > Hello, > > Thanks for the help a few days ago to get gambas working. > > > > First thing I did was create a console application, taking the stock > ?Hello World? template, > > and adding a couple of bells ? whistles to follow soon hopefully. See > ?CODE? below. > > > > The program works as expected, when compiled and outside the IDE, but > whenever > > I launch it from within the IDE I get a popup message ?No terminal > emulator found?. > > > > After simply cancelling the popup it still runs correctly in the IDE, but > the popup appears > > again, on every execution. It?s a minor nuisance but I?m sure it?s not > meant to work that way. > > > > I am guessing it is some kind of easily fixable configuration issue, > > but not sure how to go about it. > > > > How can I fix it? > > > > best, Henrik > > > > here?s the code so far: > > =========== CODE =================== > > > > Public Sub Main() > > > > Dim name As String > > name = "Buster" > > Print "Whaz your name then, eh? "; > > Flush > > Line Input name > > Print "Hello " & name & ". See you made it here too..." > > Print "Bye." > > > > End > > > > =========== CODE =================== > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dahaiou at gmail.com Thu Feb 11 17:53:24 2021 From: dahaiou at gmail.com (dahaiou at gmail.com) Date: Thu, 11 Feb 2021 17:53:24 +0100 Subject: [Gambas-user] =?utf-8?q?Warning_popup=3A_=E2=80=9CNo_terminal_em?= =?utf-8?b?dWxhdG9yIGZvdW5k4oCd?= In-Reply-To: References: <01d601d70087$95b48660$c11d9320$@gmail.com> Message-ID: <020801d70096$6bd22eb0$43768c10$@gmail.com> Hello, and thanks Bruce and Benoit. Benoit, yes, ?Use terminal emulator? was checked. Bruce: OK, I uninstalled and reinstalled WSL Ubuntu 20.04, ran the update and upgrades and then installed qt5 and gambas3**. However, I now ran into the same qt5 error message as before. After a bit of digging I found that other people have had the same difficulties running qt5 under WSL1, and a suggested solution here: https://stackoverflow.com/questions/63627955/cant-load-shared-library-libqt5core-so-5 I ran the command they gave there: sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 ... and lo and behold gambas3 fired up correctly ? ?vanilla stable? installation this time. (the one I got working a couple of days ago was from the daily ppa, didn?t need that this time) Not sure what that ?strip? command actually does, but apparently it is necessary for Qt5 to work in WSL1. (Unfortunately I cannot run WSL2 because it requires hypervisor settings to be enabled in Windows which I refuse to do, as VirtualBox and VMWare would no longer work.) Oh, and the issue with ?No terminal emulator found? is gone as well. So, issues solved for the time being I guess. Ah, one last question: What are you guys using to answer the posts here, that inserts those ?>? signs at the beginning of quoted lines? I don't feel terribly motivated to put them in manually. (I am sending this as mail from Outlook at the moment - I did change to plain text, hopefully that gets rid of the double linefeeds.) Cheers, Henrik From: User On Behalf Of Bruce Steers Sent: Thursday, 11 February 2021 16:30 To: Gambas Mailing List Subject: Re: [Gambas-user] Warning popup: ?No terminal emulator found? Please let us know what version of Gambas you are using and what system so we can better help. I think maybe you should re-install your wsl it seems broken in more ways than one. with the problems you had with qt5 libs and now this i think maybe your linux has many problems. I do not have any of these issues on my Ubuntu 20.04. But i do not use windows so my ubuntu is not an emulated one. Is your system up to date? sudo apt-get update sudo apt-get full-upgrade Or maybe you still did not clean out your old gambas properly. sudo apt-get remove gambas3* sudo rm -rf /usr/libs/gambas3 sudo rm -rf /usr/share/gambas3 sudo rm -rf /usr/bin/gb* sudo apt-get install gambas3* maybe the compilation install may do a better job? BruceS On Thu, 11 Feb 2021 at 15:08, wrote: Hello, Thanks for the help a few days ago to get gambas working. First thing I did was create a console application, taking the stock ?Hello World? template, and adding a couple of bells ? whistles to follow soon hopefully. See ?CODE? below. The program works as expected, when compiled and outside the IDE, but whenever I launch it from within the IDE I get a popup message ?No terminal emulator found?. After simply cancelling the popup it still runs correctly in the IDE, but the popup appears again, on every execution. It?s a minor nuisance but I?m sure it?s not meant to work that way. I am guessing it is some kind of easily fixable configuration issue, but not sure how to go about it. How can I fix it? best, Henrik here?s the code so far: =========== CODE =================== Public Sub Main() Dim name As String name = "Buster" Print "Whaz your name then, eh? "; Flush Line Input name Print "Hello " & name & ". See you made it here too..." Print "Bye." End =========== CODE =================== ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From g4mba5 at gmail.com Thu Feb 11 18:10:36 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 11 Feb 2021 18:10:36 +0100 Subject: [Gambas-user] =?utf-8?q?Warning_popup=3A_=E2=80=9CNo_terminal_em?= =?utf-8?b?dWxhdG9yIGZvdW5k4oCd?= In-Reply-To: <020801d70096$6bd22eb0$43768c10$@gmail.com> References: <01d601d70087$95b48660$c11d9320$@gmail.com> <020801d70096$6bd22eb0$43768c10$@gmail.com> Message-ID: <9f2a3e5a-c6d7-34c9-cbf2-4c19d022be3f@gmail.com> Le 11/02/2021 ? 17:53, dahaiou at gmail.com a ?crit?: > Hello, and thanks Bruce and Benoit. > > Benoit, yes, ?Use terminal emulator? was checked. > > Bruce: OK, I uninstalled and reinstalled WSL Ubuntu 20.04, ran the update and upgrades > and then installed qt5 and gambas3**. > > However, I now ran into the same qt5 error message as before. > After a bit of digging I found that other people have had the same difficulties running > qt5 under WSL1, and a suggested solution here: > https://stackoverflow.com/questions/63627955/cant-load-shared-library-libqt5core-so-5 > > I ran the command they gave there: > sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > > ... and lo and behold gambas3 fired up correctly ? ?vanilla stable? installation this time. > > (the one I got working a couple of days ago was from the daily ppa, didn?t need that this time) > > Not sure what that ?strip? command actually does, but apparently it is necessary for Qt5 to work in WSL1. > > (Unfortunately I cannot run WSL2 because it requires hypervisor settings to be enabled in Windows > which I refuse to do, as VirtualBox and VMWare would no longer work.) > > Oh, and the issue with ?No terminal emulator found? is gone as well. > So, issues solved for the time being I guess. > > Ah, one last question: What are you guys using to answer the posts here, that inserts those ?>? signs > at the beginning of quoted lines? I don't feel terribly motivated to put them in manually. > (I am sending this as mail from Outlook at the moment - I did change to plain text, hopefully that > gets rid of the double linefeeds.) > > Cheers, Henrik > Thunderbird. In a general manner, stop using Windows, and 95% of your problems will disappear. You will gain a few new ones on Linux, but contrary to Windows, it will be "interesting" problems. :-) -- Beno?t Minisini From jussi.lahtinen at gmail.com Thu Feb 11 19:14:08 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 11 Feb 2021 20:14:08 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> <8abda066-938c-deb2-37a4-f048849060d4@deganius.de> Message-ID: On Thu, Feb 11, 2021 at 3:09 PM Christof Thalhofer wrote: > Am 11.02.21 um 01:02 schrieb Jussi Lahtinen: > > > I don't quite follow your explanation. Can you give me an example > > project on how to use it? > > I did not say that the test suite causes side-effects, I said it > > prevents them from being exposed. > > > > The tester I have used (it has exposed a lot of bugs!) is in the > > software farm with the name GambasTester. > > I don't think it is translatable to the test suite as it has a very > > different philosophy behind it. > > I think your test suite is the best option for testing code you have > > written with Gambas. And what I wrote is more like cumulative fuzzer > output. > > Ok, I'll have a look at it. > > gb.test's main task is running and documentation of tests. > > gb.test handles and reports crashes. So if you want to crash Gambas and > want to get reported that a specific crash "is good", gb.text is able to > handle that and report it. > > For example you can see gb.test here, it's a Gambas project you can run > independently on your machine. Its in the sources here: > > gambas3/main/lib/test/gb.test/ > > https://gitlab.com/gambas/gambas/-/tree/master/main/lib/test/gb.test > > It has tests to test itself in the 'TestMyself' folder. You can play > around with these. In the 'TCrashes' test module you find this (it will > create a crash and the test will fail because of this): > > > Public Sub DoACrash() > > > > Dim a As Long > > > > 'This is a crash > > a = 3 / 0 > > > > End > > If you choose it with 'Shift-F4' and then run it with 'F4' gb.test will > report for this special test: > > 'not ok 1 - TCrashes:DoACrash' > > But you can revert the output of gb.test (with Test.IntendedFailure) and > say that there is an error if the crash does not happen! > > > Public Sub DoACrash() > > > > Dim a As Long > > > > Test.IntendedFailure() > > > > 'This is a crash > > a = 3 / 0 > > > > End > > Then gb.test reports: > > "ok 1 - TCrashes:DoACrash crashed with error 'Division by zero'" > > And if the crash does not happen (for instance if 'a = 3') then gb.test > reports: > > 'not ok 1 - TCrashes:DoACrash' > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > By quick look this is just as I suspected. The tests are run as different processes with Exec. Now if the test causes side-effects, they will disappear with the closed process. Thus I do not want to test the interpreter with this suite. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobs at taboege.de Thu Feb 11 20:02:35 2021 From: tobs at taboege.de (Tobias Boege) Date: Thu, 11 Feb 2021 20:02:35 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> Message-ID: <20210211190235.GA3395629@highrise.localdomain> On Wed, 10 Feb 2021, Jussi Lahtinen wrote: > You can even use the standard format used by 'gb.test' component. > > > > (I even guess Christof would tell you that it should be rewrite as a > > 'gb.test' test suite!) > > > > If I remember correctly, the test suite has flaw that make me not want to > use it. > It does run the tests as separate processes..? That greatly increases > chances that possible side-effects will *not* be exposed. > I sense a misunderstanding between Christof and you, so let me ask clearly: What kind of side effects do you need? Because gb.test does *not* start a new process for every test unit, as I think that you think. All tests run in the same process. What you maybe remember is that there are two processes involved in testing: a program that runs the tests and a program (usually the IDE) that captures and parses the output of the test running process and judges whether the test passed or failed. Your GambasTester does both at the same time: (1) It is a Gambas program which contains tests and its mTest arranges for the tests to be run, and (2) it judges whether the entire test run was successful. In the gb.test model, (1) and (2) are separated. But test code can still create side effects for other test code, as it all runs in the same interpreter process. For instance, if one test sets a global variable, all tests running afterwards see the changed value. gb.test can even allow you to reflect on the test progress, if you are talking about that kind of side effect (I want this test assertion to fail if the last 100 tests succeeded -- but I doubt you are talking about this and I am not sure if this is implemented currently in gb.test, but it could be done easily by exposing the internal bookkeeping). gb.test is a component that you can load in your program which takes care of *organizing*, *labeling*, *running* tests as well as provide an API to test code for reporting success and failure of a test. It will also catch any **uncaught** errors in your test code and report them as failures, so that a test run continues as long as possible, but this all happens in the same single process. It basically just imposes some structure on test code which allows a user to select only a subset of "interesting" tests to run in one go. It manages the execution of your code. Its API also emits test results in a standard format that can be stored, transmitted and parsed. What gb.test cannot do: catch segfaults and such really bad interpreter crashes and report them as failed tests. I take it that your tester cannot do this either. However, because of the separation of test runner (1) and test harness (2) in gb.test, the harness (i.e. the IDE) will detect even segfaults and report them as unsuccessful test runs. I suppose in your tester, the harness are the two eyes of the user in front of the screen. With gb.test, your project is started with `gbx3 -T`, so the management logic for test running of gb.test kicks in. With your GambasTester, you start it with `gbx3` and it organizes itself through mTest.Main(). >From a glance at your code, I don't think that it is incompatible with gb.test, but what I looked at is not enough for me to answer the question I posed above: what side effects are you talking about that could prevent it from being ported to gb.test? Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From jussi.lahtinen at gmail.com Thu Feb 11 22:09:41 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 11 Feb 2021 23:09:41 +0200 Subject: [Gambas-user] Crash with latest version In-Reply-To: <20210211190235.GA3395629@highrise.localdomain> References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> <20210211190235.GA3395629@highrise.localdomain> Message-ID: > What kind of side effects do you need? > I mean, sometimes bugs show up only later after executing some "innocent" code. Thus the interpreter state should not be "cleared" unnecessarily. > Because gb.test does *not* start a new process for every test unit, as I > think that you think. All tests run in the same process. What you maybe > remember is that there are two processes involved in testing: a program > that runs the tests and a program (usually the IDE) that captures and > parses the output of the test running process and judges whether the test > passed or failed. > OK, my misunderstanding. So the process is started again only after testing a deliberate crash. Not an issue. > What gb.test cannot do: catch segfaults and such really bad interpreter > crashes and report them as failed tests. I take it that your tester cannot > do this either. > However, because of the separation of test runner (1) and > test harness (2) in gb.test, the harness (i.e. the IDE) will detect even > segfaults and report them as unsuccessful test runs. I suppose in your > tester, the harness are the two eyes of the user in front of the screen. > I usually run the tester from script and the exit code tells if everything went OK. >From a glance at your code, I don't think that it is incompatible with > gb.test, ... > It's a huge ugly mess. Everytime I run into real world problems I add code to it based on what might cause the problem or what certainly causes the problem or both. I try to test every keyword at least with a very simple test (the part that is a bit more gb.test style approach). Everything is very quick and easy to add to it. No maintaining worries, just add more and don't touch old if you don't know what they should do. With some sensible order, variable names, documentation, etc... uh. I have sacrificed all that in the name of practicality and easiness (not something I would recommend for anything else, because usually it is not really possible). And it is still the only unit tester(?). The code is free to use, if someone is upto the task. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Fri Feb 12 08:33:02 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 12 Feb 2021 08:33:02 +0100 Subject: [Gambas-user] Crash with latest version In-Reply-To: References: <16d0571f-b772-aa0c-9564-82c59ff8932d@gmail.com> <20210211190235.GA3395629@highrise.localdomain> Message-ID: <7b15b9a6-6290-db21-0c49-61c78bf68049@deganius.de> Am 11.02.21 um 22:09 schrieb Jussi Lahtinen: > > What kind of side effects do you need? > > > I mean, sometimes bugs show up only later after executing some > "innocent" code. > Thus the interpreter state should? not be "cleared" unnecessarily. > > Because gb.test does *not* start a new process for every test unit, as I > think that you think. All tests run in the same process. What you maybe > remember is that there are two processes involved in testing: a program > that runs the tests and a program (usually the IDE) that captures and > parses the output of the test running process and judges whether the > test > passed or failed. > > OK, my misunderstanding. So the process is started again only after > testing a deliberate crash. Not an issue. Ok i also misunderstood. @Tobi: Thank you for clarification. 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 kicking177 at gmail.com Fri Feb 12 10:01:44 2021 From: kicking177 at gmail.com (KKing) Date: Fri, 12 Feb 2021 09:01:44 +0000 Subject: [Gambas-user] Warning popup: ?No terminal emulator found? Message-ID: Hi Henrik > Ah, one last question: What are you guys using to answer the posts > here, that inserts those ?>? signs > at the beginning of quoted lines? I don't feel terribly motivated to > put them in manually. > (I am sending this as mail from Outlook at the moment - I did change > to plain text, hopefully that > gets rid of the double linefeeds.) In Thunderbird use "paste as quotation"? ... preferably just the succinct parts you which to comment or ask about. From kicking177 at gmail.com Fri Feb 12 10:07:13 2021 From: kicking177 at gmail.com (KKing) Date: Fri, 12 Feb 2021 09:07:13 +0000 Subject: [Gambas-user] RichtText Control equivalent Message-ID: is there an equivalent of VB's RichText control that handles rtf formatting? e.g.handles the below natively? > {\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans > Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New > Roman;}{\f3\froman Times New Roman;}} > \deflang2057\pard\li60\ri120\tx0\tx15\tx15\tx30\tx45\tx45\tx60\tx75\tx75\tx90\plain\f2\fs24 > Some text presented certain formatting > \par } From g4mba5 at gmail.com Fri Feb 12 10:12:24 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 12 Feb 2021 10:12:24 +0100 Subject: [Gambas-user] RichtText Control equivalent In-Reply-To: References: Message-ID: <55ed4803-ac5d-9136-2316-b1d22ec156fe@gmail.com> Le 12/02/2021 ? 10:07, KKing a ?crit?: > is there an equivalent of VB's RichText control that handles rtf > formatting? > e.g.handles the below natively? >> {\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans >> Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New >> Roman;}{\f3\froman Times New Roman;}} >> \deflang2057\pard\li60\ri120\tx0\tx15\tx15\tx30\tx45\tx45\tx60\tx75\tx75\tx90\plain\f2\fs24 >> Some text presented certain formatting >> \par } > No. -- Beno?t Minisini From ocoquet at 3d-phenomen.fr Fri Feb 12 10:13:34 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Fri, 12 Feb 2021 10:13:34 +0100 Subject: [Gambas-user] Component as dynamic plugin's Message-ID: <7329a734-b6b4-66ad-4860-edc655ec4bb3@3d-phenomen.fr> Hello everyone, For some time now I've been looking for a way to create plugins that can add functions to a main program in a dynamic way. I finally succeeded (with the help of Tobias, many thanks to him). Here's how I'm doing it: I start by creating a component whose name always starts with "*PLG_*". This component creates a class with the same name as the component, for example if the component is called "*gb.PLG_TEST*" the class will be "*PLG_TEST*". This class includes at least one method "*plg_main*", it is this method that will add functions. It takes as argument the reference to the main window (Me). I install the component. In my main program, at startup, I do a search for available components, I make a list of components that start with "*PLG_*". From this list, I load these components with (in a loop): /?? Dim PlugComponent As Component // //?? PlugComponent = Component.Load(ComponentName) / then (thank you Tobias): /Dim hclass As Class = Classes [ComponentClassName] // ////ComponentClassName is the component name minus the prefix.// //?? Dim PlugClass As Object = hclass.New()/ lastly, I launch the initialization method of the component with: /PlugClass.Plg_main(Me)/ That's it, it's done. My first test is a plugin that adds buttons and their management to the main window of my program. This system has the advantage of being able to add functions to an already written program without having to modify it, or to update some features without a complete rewrite. I hope it will be useful to someone. Friendship Olivier Coquet Translated with www.DeepL.com/Translator (free version) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Fri Feb 12 11:30:39 2021 From: kicking177 at gmail.com (KKing) Date: Fri, 12 Feb 2021 10:30:39 +0000 Subject: [Gambas-user] RichtText Control equivalent Message-ID: >> is there an equivalent of VB's RichText control that handles rtf formatting? >> e.g.handles the below natively? >>> {\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans >>> Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New >>> Roman;}{\f3\froman Times New Roman;}} >>> \deflang2057\pard\li60\ri120\tx0\tx15\tx15\tx30\tx45\tx45\tx60\tx75\tx75\tx90\plain\f2\fs24 >>> Some text presented certain formatting >>> \par } > No. ok, I'll faff with Shelling out to "libreoffice --headless ......" or "unoconv ...." and reading back in for each record retrieved... both seem to do the job From brian at westwoodsvcs.com Fri Feb 12 18:50:43 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 12 Feb 2021 09:50:43 -0800 (PST) Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <138433018.6182.1613152243637.JavaMail.zimbra@westwoodsvcs.com> This way each method could simply accommodate the set it is working with. sorted_array.add() does the correct thing array.add() does the correct thing ETC. the interface is maintained correctly. etc. Thank You Brian G From: "Brian" To: "Gambas mailing list" Sent: Friday, February 12, 2021 9:44:25 AM Subject: Re: [Gambas-user] New feature in the Array classes For simplicity and clarity, would it not be better to just have a sorted array as a base type, rather than all these compromises. a = new sorted_array[] and a = new array[] Thank You Brian G From: "Jussi Lahtinen" To: "Gambas mailing list" Sent: Wednesday, February 10, 2021 9:55:55 AM Subject: Re: [Gambas-user] New feature in the Array classes For backward-compatibility, I think it's better to leave the current method untouched. Because of method overriding? It would be nice, if you could leave out optional arguments when overriding, then this could also be implemented as optional argument. Jussi ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 12 18:44:25 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 12 Feb 2021 09:44:25 -0800 (PST) Subject: [Gambas-user] New feature in the Array classes In-Reply-To: References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> Message-ID: <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> For simplicity and clarity, would it not be better to just have a sorted array as a base type, rather than all these compromises. a = new sorted_array[] and a = new array[] Thank You Brian G From: "Jussi Lahtinen" To: "Gambas mailing list" Sent: Wednesday, February 10, 2021 9:55:55 AM Subject: Re: [Gambas-user] New feature in the Array classes For backward-compatibility, I think it's better to leave the current method untouched. Because of method overriding? It would be nice, if you could leave out optional arguments when overriding, then this could also be implemented as optional argument. Jussi ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From tmorehen at ajm-software.com Fri Feb 12 19:26:13 2021 From: tmorehen at ajm-software.com (Tony Morehen) Date: Fri, 12 Feb 2021 13:26:13 -0500 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> References: <20210209195417.GA1608010@T580.localdomain> <3c78d1ef-9fda-67a0-b960-47596eb83d0f@gmail.com> <47873ef5-0fef-8afd-86dc-0f74ce49781b@gmail.com> <7e0501b1-b142-a534-a988-438a081f1e04@gmail.com> <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <910d4419-90ef-65e0-d71a-c40ab220db61@ajm-software.com> Why? A common scenario:? You fill an array with raw unsorted data. You sort the array.? Now you can use the faster sorted functions to work with the data.? If only a sorted array type has those functions, you must convert your origibal base array into a sorted array. On 2021-02-12 12:44 p.m., Brian G wrote: > For simplicity and clarity, would it not be better to just have a > sorted array as a base type, rather than all these compromises. > > a = new sorted_array[] > and > a = new array[] > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"Jussi Lahtinen" > *To: *"Gambas mailing list" > *Sent: *Wednesday, February 10, 2021 9:55:55 AM > *Subject: *Re: [Gambas-user] New feature in the Array classes > > > For backward-compatibility, I think it's better to leave the current > method untouched. > > > Because of method overriding? > It would be nice, if you could leave out optional arguments when > overriding, then this could also be implemented as optional argument. > > Jussi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sat Feb 13 00:15:37 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sat, 13 Feb 2021 02:15:37 +0300 Subject: [Gambas-user] =?utf-8?q?New_feature_in_the_Array_classes?= In-Reply-To: <910d4419-90ef-65e0-d71a-c40ab220db61@ajm-software.com> References: <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> <910d4419-90ef-65e0-d71a-c40ab220db61@ajm-software.com> Message-ID: <1613171737.477207033@f25.my.com> But if you just used a sorted array, it would always be sorted. No need of any conversion.. or special functions. Ummmm, and if you updated your code to use one, then you just change one place.. the definition, all the interface calls are pretty much the same -- Thanks Brian Friday, 12 February 2021, 10:36AM -08:00 from Tony Morehen tmorehen at ajm-software.com : >Why? >A common scenario:? You fill an array with raw unsorted data.? > You sort the array.? Now you can use the faster sorted functions > to work with the data.? If only a sorted array type has those > functions, you must convert your origibal base array into a sorted > array. >On 2021-02-12 12:44 p.m., Brian G > wrote: >>For simplicity and clarity, would it not be better to just >> have a sorted array as a base type, rather than all these >> compromises. >> >>a = new sorted_array[] >>and >>a = new array[] >> >>Thank You >>Brian G >> >>---------------------------------------------------------------------- >>From: "Jussi Lahtinen" >>To: "Gambas mailing list" >>Sent: Wednesday, February 10, 2021 9:55:55 AM >>Subject: Re: [Gambas-user] New feature in the Array >> classes >> >> >>>For backward-compatibility, I think it's better to >>> leave the current >>>method untouched. >> >>Because of method overriding? >>It would be nice, if you could >> leave out optional arguments when overriding, then this >> could also be implemented as optional argument. >> >>Jussi >> >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobs at taboege.de Sat Feb 13 01:07:57 2021 From: tobs at taboege.de (Tobias Boege) Date: Sat, 13 Feb 2021 01:07:57 +0100 Subject: [Gambas-user] New feature in the Array classes In-Reply-To: <1613171737.477207033@f25.my.com> References: <1905515194.6151.1613151865709.JavaMail.zimbra@westwoodsvcs.com> <910d4419-90ef-65e0-d71a-c40ab220db61@ajm-software.com> <1613171737.477207033@f25.my.com> Message-ID: <20210213000757.GA263398@highrise.localdomain> On Sat, 13 Feb 2021, Brian G wrote: > > But if you just used a sorted array, it would always be sorted. No need of any conversion.. or special functions. > Ummmm, and if you updated your code to use one, then you just change one place.. the definition, all the interface calls are pretty much the same Remixing the ideas from this subthread, this feature could also take the form of a virtual class named .Array.Sorted which replaces some of the methods with more optimized or specialized ones. You would then write aThings.Sorted.Add(...) or aThings.Sorted.Find(...) if you want to treat the array as sorted and preserve that property. To me, this reads nicer than aThings.AddSorted etc. and doesn't show up immediately in the Array class help. It would also avoid copying data, because a virtual class operates on the same underlying object, it just changes the method resolution. The disadvantage (which I cannot quantify!) would be that virtual class access is slower because it adds one level of indirection. It's basically a less efficient way of passing an optional flag to a method, except that it is totally backwards-compatible and doesn't clutter the class's symbols. Just a thought. Regards, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From brian at westwoodsvcs.com Sat Feb 13 02:22:37 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sat, 13 Feb 2021 04:22:37 +0300 Subject: [Gambas-user] =?utf-8?q?New_feature_in_the_Array_classes?= In-Reply-To: <20210213000757.GA263398@highrise.localdomain> References: <1613171737.477207033@f25.my.com> <20210213000757.GA263398@highrise.localdomain> Message-ID: <1613179357.154330872@f32.my.com> That to me sounds like a good solution! -- Thanks Brian Friday, 12 February 2021, 04:08PM -08:00 from Tobias Boege tobs at taboege.de : >On Sat, 13 Feb 2021, Brian G wrote: > > But if you just used a sorted array, it would always be sorted. No need of any conversion.. or special functions. > Ummmm, and if you updated your code to use one, then you just change one place.. the definition, all the interface calls are pretty much the same > >Remixing the ideas from this subthread, this feature could also take the >form of a virtual class named .Array.Sorted which replaces some of the >methods with more optimized or specialized ones. You would then write >aThings.Sorted.Add(...) or aThings.Sorted.Find(...) if you want to treat >the array as sorted and preserve that property. > >To me, this reads nicer than aThings.AddSorted etc. and doesn't show up >immediately in the Array class help. It would also avoid copying data, >because a virtual class operates on the same underlying object, it just >changes the method resolution. > >The disadvantage (which I cannot quantify!) would be that virtual class >access is slower because it adds one level of indirection. It's basically >a less efficient way of passing an optional flag to a method, except that >it is totally backwards-compatible and doesn't clutter the class's symbols. > >Just a thought. > >Regards, >Tobias > >-- >"There's an old saying: Don't change anything... ever!" -- Mr. Monk > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Sat Feb 13 09:08:55 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Sat, 13 Feb 2021 09:08:55 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? Message-ID: Hello everyone, A question to specialists, is it possible to hijack a procedure or function? Let me explain: in my FMain class, I have a procedure: public sub maproc?dure() print "toto" end sub in a maclasse class, I have a second procedure: public sub maproc?dure() print "titi" end sub I would like that during a call: maproc?dure() in the FMain class, it is the one of the maclasse class that runs and not the one of FMain. Is this possible? and how? thank you all Olivier Coquet Translated with www.DeepL.com/Translator (free version) From chrisml at deganius.de Sat Feb 13 20:45:07 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 13 Feb 2021 20:45:07 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: References: Message-ID: Am 13.02.21 um 09:08 schrieb olivier coquet: > A question to specialists, is it possible to hijack a procedure or > function? > Let me explain: > in my FMain class, I have a procedure: > > public sub maproc?dure() This "?" should nor be allowed in the name of a symbol. > print "toto" > end sub > > in a maclasse class, I have a second procedure: > public sub maproc?dure() > print "titi" > end sub > > I would like that during a call: maproc?dure() in the FMain class, it is > the one of the maclasse class that runs and not the one of FMain. > > Is this possible? > and how? No. The only possibility is that in Fmail you call this: maclasse.maprocedure() Alles Gute Christof Thalhofer -- [x] nail here for new monitor From ocoquet at 3d-phenomen.fr Sun Feb 14 09:03:54 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Sun, 14 Feb 2021 09:03:54 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: References: Message-ID: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit?: > > Am 13.02.21 um 09:08 schrieb olivier coquet: > >> A question to specialists, is it possible to hijack a procedure or >> function? >> Let me explain: >> in my FMain class, I have a procedure: >> >> public sub maproc?dure() > > This "?" should nor be allowed in the name of a symbol. > >> print "toto" >> end sub >> >> in a maclasse class, I have a second procedure: >> public sub maproc?dure() >> print "titi" >> end sub >> >> I would like that during a call: maproc?dure() in the FMain class, it is >> the one of the maclasse class that runs and not the one of FMain. >> >> Is this possible? >> and how? > No. The only possibility is that in Fmail you call this: > maclasse.maprocedure() > > Hello Christof and thank you for your answer. > As I'm French, I'm stubborn :) > So I dug a little bit into the problem and I found a solution. > > Just declare a public variable (*varfct*) of type object in fmain and initialize it with "Me". > In Fmain we call the procedure in this way: > > /varfct.maprocedure()/ > > In the main() of the class added next, I change the value of*varfct* by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. > > Not very elegant but it works. > > Friendship > Olivier Coquet > > Translated with www.DeepL.com/Translator (free version) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Feb 14 16:35:06 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 14 Feb 2021 15:35:06 +0000 Subject: [Gambas-user] gb.form.editor and a really really long line error Message-ID: Hi all. can texteditor line buffer length be increased (not meaning in gamba in general, i have class imported in my project so can manipulate code myself at any level just can't find the said code) I loaded up a settings file that had a really long line over 4,000 chars. TextEditor object in my editor showed blank unless i enabled wordwrap. It also threw this warning message.. (scripted-oldgambas:12054): Gtk-WARNING **: 15:30:18.159: drawing failure for widget 'GtkFixed': invalid value (typically too big) for the size of the input (surface, pattern, etc.) file loaded okay in Pluma so i guess something i can workaround. Thanks in advance BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Feb 14 21:44:36 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 14 Feb 2021 22:44:36 +0200 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> Message-ID: On Sun, Feb 14, 2021 at 10:05 AM olivier coquet wrote: > Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit : > > Am 13.02.21 um 09:08 schrieb olivier coquet: > > > A question to specialists, is it possible to hijack a procedure or > function? > Let me explain: > in my FMain class, I have a procedure: > > public sub maproc?dure() > > This "?" should nor be allowed in the name of a symbol. > > > print "toto" > end sub > > in a maclasse class, I have a second procedure: > public sub maproc?dure() > print "titi" > end sub > > I would like that during a call: maproc?dure() in the FMain class, it is > the one of the maclasse class that runs and not the one of FMain. > > Is this possible? > and how? > > No. The only possibility is that in Fmail you call this: > maclasse.maprocedure() > > Hello Christof and thank you for your answer. > > As I'm French, I'm stubborn :) > So I dug a little bit into the problem and I found a solution. > > Just declare a public variable (*varfct*) of type object in fmain and initialize it with "Me". > In Fmain we call the procedure in this way: > *varfct.maprocedure()* > > In the main() of the class added next, I change the value of *varfct* by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. > > Not very elegant but it works. > > Friendship > Olivier Coquet > > Translated with www.DeepL.com/Translator (free version) > > > I don't quite understand what you are trying to achieve, but "Me" can refer to any class (here FMain or maclasse). So, even when your variable name stays the same (varfct), you are essentially doing the same as this: FMain.maprocedure maclasse.maprocedure or perhaps more enlightingly: Dim hObj as object hObj = FMain hObj.maprocedure hObj = maclasse hObj.maprocedure Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Feb 14 22:02:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 14 Feb 2021 21:02:20 +0000 Subject: [Gambas-user] Run command after making exe (options) Message-ID: Hi. I'm trying to use the "Run command after" option when making an exe to auto-alter some version texts in various files i made a gbs script file that i can place in the source folder and it does the version change okay but i can't launch it. tooltip says use $(FILE) for exe name What i need is $(PATH) for source folder (i tried that and it didn't work) are there any other options i can use with this feature except $(FILE) I've attatched the script so you can see what i'm trying to accomplish -- script info -- It's run in the project folder it gets the version from the .project file it searches given document names for version pattern and replaces version number. easier to show the comments from the script start.. ' Replace "*" in Findstring with version number. ' syntax SetVers ' if filname has @ prefix then no pattern matching, just write version string only to file ' (usefull for a VERSION file, will erase any other text) ' examples ' SetVers 'Version "*"' README.md ' will replace text between doublequotes with version string in README.md ' SetVers 'Version "*"' README.md @VERSION ' will replace text between doublequotes with version string in README.md Script is far from perfect but if i can't get the project folder i'm going to have to think another route anyway like putting the script somewhere with an absolute path and calling it with the $(FILE) and working from there. Many thanks. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SetVers.zip Type: application/zip Size: 1012 bytes Desc: not available URL: From kicking177 at gmail.com Mon Feb 15 12:19:08 2021 From: kicking177 at gmail.com (KKing) Date: Mon, 15 Feb 2021 11:19:08 +0000 Subject: [Gambas-user] GridView Row Height Message-ID: <29c2442e-a91f-e333-48ad-af0306bc3a8e@gmail.com> if I populate a Gridview, have column headers that I can resize the column widths with by the mouse .... But what do I need to do to allow the Row height for either a single row or all rows to be resizeable with the mouse by the user? From bagonergi at gmail.com Mon Feb 15 13:23:49 2021 From: bagonergi at gmail.com (Gianluigi) Date: Mon, 15 Feb 2021 13:23:49 +0100 Subject: [Gambas-user] GridView Row Height In-Reply-To: <29c2442e-a91f-e333-48ad-af0306bc3a8e@gmail.com> References: <29c2442e-a91f-e333-48ad-af0306bc3a8e@gmail.com> Message-ID: Il giorno lun 15 feb 2021 alle ore 12:20 KKing ha scritto: > if I populate a Gridview, have column headers that I can resize the > column widths with by the mouse .... But what do I need to do to allow > the Row height for either a single row or all rows to be resizeable with > the mouse by the user? > gridview1.header = 3 Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 15 14:35:10 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Mon, 15 Feb 2021 14:35:10 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> Message-ID: <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit?: > > > On Sun, Feb 14, 2021 at 10:05 AM olivier coquet > > wrote: > > Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit?: >> >> Am 13.02.21 um 09:08 schrieb olivier coquet: >> >>> A question to specialists, is it possible to hijack a procedure or >>> function? >>> Let me explain: >>> in my FMain class, I have a procedure: >>> >>> public sub maproc?dure() >> >> This "?" should nor be allowed in the name of a symbol. >> >>> print "toto" >>> end sub >>> >>> in a maclasse class, I have a second procedure: >>> public sub maproc?dure() >>> print "titi" >>> end sub >>> >>> I would like that during a call: maproc?dure() in the FMain class, it is >>> the one of the maclasse class that runs and not the one of FMain. >>> >>> Is this possible? >>> and how? >> No. The only possibility is that in Fmail you call this: >> maclasse.maprocedure() >> >> Hello Christof and thank you for your answer. >> As I'm French, I'm stubborn :) >> So I dug a little bit into the problem and I found a solution. >> >> Just declare a public variable (*varfct*) of type object in fmain and initialize it with "Me". >> In Fmain we call the procedure in this way: >> >> /varfct.maprocedure()/ >> >> In the main() of the class added next, I change the value of*varfct* by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. >> >> Not very elegant but it works. >> >> Friendship >> Olivier Coquet >> >> Translated withwww.DeepL.com/Translator (free version) >> > > I don't quite understand what you are trying to achieve, but "Me" can > refer to any class (here FMain or maclasse). > So, even when your variable name stays the same (varfct), you are > essentially doing the same as this: > > FMain.maprocedure > maclasse.maprocedure > > or perhaps more enlightingly: > > Dim hObj as object > > hObj = FMain > hObj.maprocedure > > hObj = maclasse > hObj.maprocedure > > > Jussi Hi jussi, Thank you for your response, To answer your question, I have been working for 3 months on a home automation project that involves the use of several elements. The first one, an http server that is simple to implement and that integrates perfectly with a gambas program has been made as a gambas component (see my messages about this) is perfectly operational. The second one is the main program that takes care of the management of the connected objects, the scenarios and the launch schedule of each scenario is also operational (well almost, still some bugs). The third one is a system that would allow to add functions at will to the main program without rewriting it. It is on this last point that I am working on, a plugin system that installs itself and joins the main program. To do this, I use a component that I made in a special way. Its functions: - Able to create new buttons on the interface of the main program. - Manage these buttons. - To be able to substitute its own functions and procedures to those of the main program without modifying it. - Do not disturb the main program if the plugin is not installed. Hence my last question and the answer I gave there this weekend So my plugin system is now operational, if someone is interested, I can send the sources of a test plugin and the sources of an example program implementing it. Friendship Olivier COQUET Translated with www.DeepL.com/Translator (free version) -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 15 17:29:01 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 15 Feb 2021 16:29:01 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: Message-ID: On Sun, 14 Feb 2021 at 21:02, Bruce Steers wrote: > Hi. > I'm trying to use the "Run command after" option when making an exe to > auto-alter some version texts in various files > i made a gbs script file that i can place in the source folder and it does > the version change okay but i can't launch it. > > tooltip says use $(FILE) for exe name > > What i need is $(PATH) for source folder (i tried that and it didn't work) > > are there any other options i can use with this feature except $(FILE) > > I've attatched the script so you can see what i'm trying to accomplish > Okay well i've made do with what i had and did this , so il'll share it with you folks. Simple version replacement script. What it does... when i select "Make executable" in gambas i have now set the "Run this command after" option to this... *gbs3 /media/bonus/SSDiskspace/git/SetVers.gbs '$(FILE)' 'Version "*"' README.md @VERSION* The SetVers.gbs script stays in /media/bonus/SSDiskspace/git/ and i'm using it in a few of my projects. It's arguments are *SetVers.gbs * The only option i see is $(FILE) when making an exe so the first arg for SetVers.gbs is more for getting the programs directory than the name. In my README.md file is the line.. *## ScriptED Version "2.5.2"* my VERSION file just contains the version number. 2.5.2 after gambas makes the executable it then runs this script. the script gets the program version number from the .project file and then replaces via the supplied pattern 'Version "*"' so all between the quotes is replaced. (could use brackets or any other text) Because VERSION file argument begins with @ this just has the version number written to it without pattern matching. just the number written to a file. So now i no longer have to keep updating my README.md and VERSION files version number. I can supply any number of files as arguments. you may find it useful too. or a base to make something even more useful :) Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SetVers.gbs.zip Type: application/zip Size: 1041 bytes Desc: not available URL: From brian at westwoodsvcs.com Mon Feb 15 17:51:10 2021 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 15 Feb 2021 08:51:10 -0800 (PST) Subject: [Gambas-user] wiki down? Breakpoints don't work today. Message-ID: <1205005501.6827.1613407870063.JavaMail.zimbra@westwoodsvcs.com> I don't seem to be able to access the wiki After this mornings update, Daily. I seems impossible to set any breakpoints at all! Thank You Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 15 18:07:12 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Mon, 15 Feb 2021 18:07:12 +0100 Subject: [Gambas-user] wiki down? Breakpoints don't work today. In-Reply-To: <1205005501.6827.1613407870063.JavaMail.zimbra@westwoodsvcs.com> References: <1205005501.6827.1613407870063.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Le 15/02/2021 ? 17:51, Brian G a ?crit?: > I don't seem to be able to access the wiki > > After this mornings update, Daily. I seems impossible to set any > breakpoints at all! > > sourceforge seams to have some problems :) Olivier Coquet -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Feb 15 17:58:25 2021 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 15 Feb 2021 08:58:25 -0800 (PST) Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> Message-ID: <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> Are you adding dynamic classes as plugins? Not sure when this would be needed? Or are you defining classes on the fly in you code? Would be interesting to know how your using it! It is a simple way of writing once and basically having a sort of self modifying code. That is any module or class can change the actual destination of a call without the main process knowing about it. Thank You Brian G From: "olivier coquet" To: "Gambas mailing list" Sent: Monday, February 15, 2021 5:35:10 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit : On Sun, Feb 14, 2021 at 10:05 AM olivier coquet < [ mailto:ocoquet at 3d-phenomen.fr | ocoquet at 3d-phenomen.fr ] > wrote: BQ_BEGIN Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit : BQ_BEGIN BQ_BEGIN Am 13.02.21 um 09:08 schrieb olivier coquet: BQ_BEGIN A question to specialists, is it possible to hijack a procedure or function? Let me explain: in my FMain class, I have a procedure: public sub maproc?dure() This "?" should nor be allowed in the name of a symbol. BQ_BEGIN print "toto" end sub in a maclasse class, I have a second procedure: public sub maproc?dure() print "titi" end sub I would like that during a call: maproc?dure() in the FMain class, it is the one of the maclasse class that runs and not the one of FMain. Is this possible? and how? BQ_END No. The only possibility is that in Fmail you call this: maclasse.maprocedure() BQ_END Hello Christof and thank you for your answer. As I'm French, I'm stubborn :) So I dug a little bit into the problem and I found a solution. Just declare a public variable ( varfct ) of type object in fmain and initialize it with "Me". In Fmain we call the procedure in this way: varfct.maprocedure() In the main() of the class added next, I change the value of varfct by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. Not very elegant but it works. Friendship Olivier Coquet Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) BQ_END BQ_END I don't quite understand what you are trying to achieve, but "Me" can refer to any class (here FMain or maclasse). So, even when your variable name stays the same (varfct), you are essentially doing the same as this: FMain.maprocedure maclasse.maprocedure or perhaps more enlightingly: Dim hObj as object hObj = FMain hObj.maprocedure hObj = maclasse hObj.maprocedure Jussi BQ_END Hi jussi, Thank you for your response, To answer your question, I have been working for 3 months on a home automation project that involves the use of several elements. The first one, an http server that is simple to implement and that integrates perfectly with a gambas program has been made as a gambas component (see my messages about this) is perfectly operational. The second one is the main program that takes care of the management of the connected objects, the scenarios and the launch schedule of each scenario is also operational (well almost, still some bugs). The third one is a system that would allow to add functions at will to the main program without rewriting it. It is on this last point that I am working on, a plugin system that installs itself and joins the main program. To do this, I use a component that I made in a special way. Its functions: - Able to create new buttons on the interface of the main program. - Manage these buttons. - To be able to substitute its own functions and procedures to those of the main program without modifying it. - Do not disturb the main program if the plugin is not installed. Hence my last question and the answer I gave there this weekend So my plugin system is now operational, if someone is interested, I can send the sources of a test plugin and the sources of an example program implementing it. Friendship Olivier COQUET Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 15 18:35:31 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Mon, 15 Feb 2021 18:35:31 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Hello Brian, here are tow file in zip format: - plg_test_fmain is the test src program in gambas, it can run as is. - plg_test_plugin, must be compiled, generate install packet as component? and install it. When you run plg_test_fmain without plugin component installed, it have 3 buttons (test1,test2,test3) when you run with plugin installed, another button (plg1) show, if you click it, a message show you than this button is managed from plg_test class, if you click on test2, you see it is managed in fmain, if you click test1 you see it is managed in plg_test and management of test2 is now rerouted to plg_test. try it and look at the code. Regards Olivier Coquet Le 15/02/2021 ? 17:58, Brian G a ?crit?: > Are you adding dynamic classes as plugins? Not sure when this would be > needed? Or are you defining classes on the fly in you code? > > Would be interesting to know how your using it! > > It is a simple way of writing once and basically having a sort of self > modifying code. That is any module or class can change the actual > destination of a call without the main process knowing about it. > > > Thank You > Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PLG_Test_fmain.zip Type: application/zip Size: 15031 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: plg_test_plugin.class.zip Type: application/zip Size: 559 bytes Desc: not available URL: From g4mba5 at gmail.com Mon Feb 15 18:49:21 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 15 Feb 2021 18:49:21 +0100 Subject: [Gambas-user] wiki down? Breakpoints don't work today. In-Reply-To: References: <1205005501.6827.1613407870063.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <2b0ae73a-f448-7b27-2040-d630be278b57@gmail.com> Le 15/02/2021 ? 18:07, olivier coquet a ?crit?: > Le 15/02/2021 ? 17:51, Brian G a ?crit?: >> I don't seem to be able to access the wiki >> >> After this mornings update, Daily. I seems impossible to set any >> breakpoints at all! >> >> > sourceforge seams to have some problems :) > > Olivier Coquet > I don't use sourceforge, only for the website main page. The breakpoint problem is fixed in the master. The wiki/bugtracker/farm server has problems. I don't know yet if this is a memory problem or an internet attack problem. We'll see. -- Beno?t Minisini From jussi.lahtinen at gmail.com Mon Feb 15 18:49:31 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 15 Feb 2021 19:49:31 +0200 Subject: [Gambas-user] wiki down? Breakpoints don't work today. In-Reply-To: References: <1205005501.6827.1613407870063.JavaMail.zimbra@westwoodsvcs.com> Message-ID: > > I don't seem to be able to access the wiki > > After this mornings update, Daily. I seems impossible to set any > breakpoints at all! > > > sourceforge seams to have some problems :) > > Olivier Coquet > It's not in sourceforge anymore. At least the wiki seems to work now. https://gambaswiki.org/wiki Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Mon Feb 15 19:11:42 2021 From: kicking177 at gmail.com (KKing) Date: Mon, 15 Feb 2021 18:11:42 +0000 Subject: [Gambas-user] GridView Row Height Message-ID: <71b752d2-9c2b-6f17-568c-a6405117775f@gmail.com> > gridview1.header = 3 Thankyou @Gianluigi that works ... even if I prefer ? ? ? GridView1.Header = GridView.Both Would be cool if GridView worked like excel/calc where clicking the top left of the grid view auto selects all rows and columns and adjusting the row height of one row adjusts every row to the new height. Something to look at another day. From chrisml at deganius.de Tue Feb 16 00:14:05 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 00:14:05 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <0f3b2afa-047d-3f27-f16b-b451993460ef@deganius.de> Am 15.02.21 um 18:35 schrieb olivier coquet: > Hello Brian, > > here are tow file in zip format: This was bounced by all Gmail servers. 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 brian at westwoodsvcs.com Tue Feb 16 03:31:46 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Tue, 16 Feb 2021 05:31:46 +0300 Subject: [Gambas-user] =?utf-8?q?Sub_and_Function_hijack_=3F=3F_is_this_p?= =?utf-8?q?ossible_=3F?= In-Reply-To: References: <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1613442706.733096917@f13.my.com> I received the zip files, don't use gmail -- Thanks Brian Monday, 15 February 2021, 09:37AM -08:00 from olivier coquet ocoquet at 3d-phenomen.fr : >Hello Brian, > >here are tow file in zip format: > >- plg_test_fmain is the test src > program in gambas, it can run as is. >- plg_test_plugin, must be compiled, > generate install packet as component? and install it. > >When you run plg_test_fmain without > plugin component installed, it have 3 buttons (test1,test2,test3) >when you run with plugin installed, > another button (plg1) show, if you click it, a message show you > than this button is managed from plg_test class, if you click on > test2, you see it is managed in fmain, if you click test1 you see > it is managed in plg_test and management of test2 is now rerouted > to plg_test. try it and look at the code. > >Regards >Olivier Coquet > >? >Le 15/02/2021 ? 17:58, Brian G a > ?crit?: >>Are you adding dynamic classes as plugins? Not sure when >> this would be needed? Or are you defining classes on the fly >> in you code? >> >>Would be interesting to know how your using it! >> >>It is a simple way of writing once and basically having a >> sort of self modifying code. That is any module or class can >> change the actual destination of a call without the main >> process knowing about it. >> >> >>Thank You >>Brian G > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Tue Feb 16 08:09:03 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Tue, 16 Feb 2021 08:09:03 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <0f3b2afa-047d-3f27-f16b-b451993460ef@deganius.de> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <0f3b2afa-047d-3f27-f16b-b451993460ef@deganius.de> Message-ID: Sorry, I don't know how i can send some files to you because GMail is not a mail server, it is a mail filter :) I'll make an internet site online in few days to put my files. I tell you the url as soon. Regards Olivier COQUET Le 16/02/2021 ? 00:14, Christof Thalhofer a ?crit?: > Am 15.02.21 um 18:35 schrieb olivier coquet: >> Hello Brian, >> >> here are tow file in zip format: > This was bounced by all Gmail servers. > > Alles Gute > > Christof Thalhofer > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Tue Feb 16 08:10:20 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Tue, 16 Feb 2021 08:10:20 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <1613442706.733096917@f13.my.com> References: <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <1613442706.733096917@f13.my.com> Message-ID: <73ea95f7-723d-f28e-c3a8-a50ef6cb9b34@3d-phenomen.fr> Tell me if they are running ??? Regards Olivier Coquet Le 16/02/2021 ? 03:31, Brian G a ?crit?: > > I received the zip files, don't use gmail > > -- > Thanks > Brian > > Monday, 15 February 2021, 09:37AM -08:00 from olivier coquet > ocoquet at 3d-phenomen.fr : > > Hello Brian, > > here are tow file in zip format: > > - plg_test_fmain is the test src program in gambas, it can run as is. > - plg_test_plugin, must be compiled, generate install packet as > component? and install it. > > When you run plg_test_fmain without plugin component installed, it > have 3 buttons (test1,test2,test3) > when you run with plugin installed, another button (plg1) show, if > you click it, a message show you than this button is managed from > plg_test class, if you click on test2, you see it is managed in > fmain, if you click test1 you see it is managed in plg_test and > management of test2 is now rerouted to plg_test. try it and look > at the code. > > Regards > Olivier Coquet > > > Le 15/02/2021 ? 17:58, Brian G a ?crit?: >> Are you adding dynamic classes as plugins? Not sure when this >> would be needed? Or are you defining classes on the fly in you code? >> >> Would be interesting to know how your using it! >> >> It is a simple way of writing once and basically having a sort of >> self modifying code. That is any module or class can change the >> actual destination of a call without the main process knowing >> about it. >> >> >> Thank You >> Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette > ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 16 11:21:33 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Tue, 16 Feb 2021 13:21:33 +0300 Subject: [Gambas-user] =?utf-8?q?Sub_and_Function_hijack_=3F=3F_is_this_p?= =?utf-8?q?ossible_=3F?= In-Reply-To: <1613442706.733096917@f13.my.com> References: <1613442706.733096917@f13.my.com> Message-ID: <1613470893.624759611@f36.my.com> I received the zip files, as I don't use gmail. -- Thanks Brian Monday, 15 February 2021, 06:43PM -08:00 from Brian G brian at westwoodsvcs.com : >I received the zip files, don't use gmail >-- >Thanks >Brian Monday, 15 February 2021, 09:37AM -08:00 from olivier coquet ocoquet at 3d-phenomen.fr : > >>Hello Brian, >> >>here are tow file in zip format: >> >>- plg_test_fmain is the test src >> program in gambas, it can run as is. >>- plg_test_plugin, must be compiled, >> generate install packet as component? and install it. >> >>When you run plg_test_fmain without >> plugin component installed, it have 3 buttons (test1,test2,test3) >>when you run with plugin installed, >> another button (plg1) show, if you click it, a message show you >> than this button is managed from plg_test class, if you click on >> test2, you see it is managed in fmain, if you click test1 you see >> it is managed in plg_test and management of test2 is now rerouted >> to plg_test. try it and look at the code. >> >>Regards >>Olivier Coquet >> >>? >>Le 15/02/2021 ? 17:58, Brian G a >> ?crit?: >>>Are you adding dynamic classes as plugins? Not sure when >>> this would be needed? Or are you defining classes on the fly >>> in you code? >>> >>>Would be interesting to know how your using it! >>> >>>It is a simple way of writing once and basically having a >>> sort of self modifying code. That is any module or class can >>> change the actual destination of a call without the main >>> process knowing about it. >>> >>> >>>Thank You >>>Brian G >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 16 15:41:22 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 14:41:22 +0000 Subject: [Gambas-user] gbs script version Message-ID: So i just used gb.args in a gbs script and gb.args auto uses the -V flag to display version. But i cannot see how to set version using a script file? all i get is 0.0.0 Is it possible? Thank you BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 16 16:13:05 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 16:13:05 +0100 Subject: [Gambas-user] gbs script version In-Reply-To: References: Message-ID: Le 16/02/2021 ? 15:41, Bruce Steers a ?crit?: > > So i just used gb.args in a gbs script and gb.args auto uses the -V flag > to display version. > > But i cannot see how to set version using a script file? > all i get is 0.0.0 > > Is it possible? > Thank you > BruceS > Apparently no. -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 16 17:22:01 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 16:22:01 +0000 Subject: [Gambas-user] gbs script version In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 at 15:14, Beno?t Minisini wrote: > Le 16/02/2021 ? 15:41, Bruce Steers a ?crit : > > > > So i just used gb.args in a gbs script and gb.args auto uses the -V flag > > to display version. > > > > But i cannot see how to set version using a script file? > > all i get is 0.0.0 > > > > Is it possible? > > Thank you > > BruceS > > > > Apparently no. > Thanks Ben In the script file i can manually check Args.Has("V","version","Display Version") and that works. The downside is that if i manually try to check -V it does override the function but duplicates the help info. $ ./SetVers2.gbs -h SetVers2 Options: -d --directory Path to the project -p --pattern search pattern -v --version-num Set version number *-V --version Display version info *(this was the one i manually entered) * -V --version Display version *-h --help Display this help $ ./SetVers2.gbs -V 1.0.0 I've submitted a merge request for a simple change to gb.args to fix this if it's okay with you. It sets $bVersionChecked to true if user has used Args.Has() to check -V and stops --help printing built in version message if so. Much respect BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 16 18:40:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 17:40:20 +0000 Subject: [Gambas-user] gbs script version In-Reply-To: References: Message-ID: > > > I've submitted a merge request for a simple change to gb.args to fix this > if it's okay with you. > It sets $bVersionChecked to true if user has used Args.Has() to check -V > and stops --help printing built in version message if so. > > I can think of other reasons overriding gb.args version for DIY could be useful.. Eg. *If Args.Has("V", "version" , "Display version and state") Then* * Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " (Stable)")* *Endif* Other things i thought were if Application.Version was read/write that would fix the gbs versioning as could be set at script start Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Feb 16 18:47:00 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 18:47:00 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <0f3b2afa-047d-3f27-f16b-b451993460ef@deganius.de> Message-ID: Am 16.02.21 um 08:09 schrieb olivier coquet: > Sorry, I don't know how i can send some files to you because GMail is > not a mail server, it is a mail filter :) Yeah :-) > I'll make an internet site online in few days to put my files. > I tell you the url as soon. You don't need that. I wrote a small project which packs a file especially for Gmail so that it can be attached and sent without Gmail rejecting it: https://gitlab.com/christhal/gmailpipe You can pack a 'project.tar.gz' to 'project.tar.gz.gmail.txt' and reverse. It's also in the software farm. Have fun with it. 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 g4mba5 at gmail.com Tue Feb 16 18:51:34 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 18:51:34 +0100 Subject: [Gambas-user] gbs script version In-Reply-To: References: Message-ID: Le 16/02/2021 ? 18:40, Bruce Steers a ?crit?: > > I've submitted a merge request for a simple change to gb.args to fix > this if it's okay with you. > It sets? $bVersionChecked to true if user has used Args.Has() to > check -V and stops --help printing built in version message if so. > > > I can think of other reasons overriding gb.args version for DIY could be > useful.. > > Eg. > *If Args.Has("V", "version" , "Display version and state") Then* > *?Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " (Stable)") > * > *Endif* > > Other things i thought were if Application.Version was read/write that > would fix the gbs versioning as could be set at script start > Wishing well > BruceS > To be logical, you should check the override of "-h" too. Someone may want to display its own help instead of the default one. Regards, -- Beno?t Minisini From chrisml at deganius.de Tue Feb 16 19:02:19 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 19:02:19 +0100 Subject: [Gambas-user] Gmail Attachment Pipe Message-ID: Hello, i wrote a small project which packs a file especially for Gmail so that it can be attached and sent without Gmail rejecting it: https://gitlab.com/christhal/gmailpipe You can pack a 'project.tar.gz' into 'project.tar.gz.gmail.txt' and reverse. It's also in the software farm. Please try it out and have fun with it. If it works we could think about integrating it into the IDE. 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 bsteers4 at gmail.com Tue Feb 16 19:18:32 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 18:18:32 +0000 Subject: [Gambas-user] gbs script version In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 at 17:52, Beno?t Minisini wrote: > Le 16/02/2021 ? 18:40, Bruce Steers a ?crit : > > > > I've submitted a merge request for a simple change to gb.args to fix > > this if it's okay with you. > > It sets $bVersionChecked to true if user has used Args.Has() to > > check -V and stops --help printing built in version message if so. > > > > > > I can think of other reasons overriding gb.args version for DIY could be > > useful.. > > > > Eg. > > *If Args.Has("V", "version" , "Display version and state") Then* > > * Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " > (Stable)") > > * > > *Endif* > > > > Other things i thought were if Application.Version was read/write that > > would fix the gbs versioning as could be set at script start > > Wishing well > > BruceS > > > > To be logical, you should check the override of "-h" too. Someone may > want to display its own help instead of the default one. > > yes i did consider that , I was not sure if you would accept the modification but if you think it's okay i have re-submitted with both help and version override. Thank you BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Feb 16 19:21:16 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 16 Feb 2021 13:21:16 -0500 Subject: [Gambas-user] GridView Row Height In-Reply-To: <71b752d2-9c2b-6f17-568c-a6405117775f@gmail.com> References: <71b752d2-9c2b-6f17-568c-a6405117775f@gmail.com> Message-ID: <5a2e24e3-d89d-b49b-ce7f-06e0673d54f5@gmail.com> On 2/15/21 1:11 PM, KKing wrote: >> gridview1.header = 3 > > Thankyou @Gianluigi that works ... even if I prefer > ? ? ? GridView1.Header = GridView.Both > > Would be cool if GridView worked like excel/calc where clicking the top left of the grid view auto selects all rows and columns > and adjusting the row height of one row adjusts every row to the new height. Something to look at another day. I could be wrong, but I believe columns cannot be selected. Just select all rows. For example: [code] Public Sub GridView1_DblClick() If Mouse.X < 20 And If Mouse.Y < 28 Then GridView1.SelectAll End [/code] You can accomplish an auto-adjust of all row heights using the RowResize event. (RowSize apparently does not get triggered; nor does ColumnSize BTW.) Unfortunately, the RowResize event gets triggered multiple times during a resize. So, you'll have to combine it with a semaphore (that also stores the row number) and the MouseUp event. For example: [code] Public ResizedRow As Integer = -1 Public Sub GridView1_RowResize(Row As Integer) ResizedRow = Row End Public Sub GridView1_MouseUp() If ResizedRow < 0 Then Return For x As Integer = 0 To GridView1.Rows.Max GridView1.Rows[x].Height = GridView1.Rows[ResizedRow].Height Next ResizedRow = -1 End [/code] -- Lee From g4mba5 at gmail.com Tue Feb 16 19:57:57 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 19:57:57 +0100 Subject: [Gambas-user] GridView Row Height In-Reply-To: <5a2e24e3-d89d-b49b-ce7f-06e0673d54f5@gmail.com> References: <71b752d2-9c2b-6f17-568c-a6405117775f@gmail.com> <5a2e24e3-d89d-b49b-ce7f-06e0673d54f5@gmail.com> Message-ID: Le 16/02/2021 ? 19:21, T Lee Davidson a ?crit?: > On 2/15/21 1:11 PM, KKing wrote: >>> gridview1.header = 3 >> >> Thankyou @Gianluigi that works ... even if I prefer >> ?? ? ? GridView1.Header = GridView.Both >> >> Would be cool if GridView worked like excel/calc where clicking the >> top left of the grid view auto selects all rows and columns and >> adjusting the row height of one row adjusts every row to the new >> height. Something to look at another day. > > I could be wrong, but I believe columns cannot be selected. Just select > all rows. For example: > [code] > Public Sub GridView1_DblClick() > > ? If Mouse.X < 20 And If Mouse.Y < 28 Then GridView1.SelectAll > > End > [/code] > Yes, in GridView rows and columns are not symmetrical like in a spreadsheet. GridView displays "tables" (like database tables) where rows represent similar "objects", and each column one field of these "objects". Regards, -- Beno?t Minisini From t.lee.davidson at gmail.com Tue Feb 16 19:58:45 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 16 Feb 2021 13:58:45 -0500 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: Message-ID: On 2/16/21 1:02 PM, Christof Thalhofer wrote: > Hello, > > i wrote a small project which packs a file especially for Gmail so that > it can be attached and sent without Gmail rejecting it: > > https://gitlab.com/christhal/gmailpipe > > You can pack a 'project.tar.gz' into 'project.tar.gz.gmail.txt' and reverse. > > It's also in the software farm. Please try it out and have fun with it. > If it works we could think about integrating it into the IDE. > > Alles Gute > > Christof Thalhofer I think it is a sad thing when people have to adapt a software development environment just to mitigate the heavy handedness of GMailFilter. Unfortunately, I see no other practical solution. Perhaps the ideal solution would be to utilize a mail client addon to optionally pack on send and unpack on receive. But, alas, that would certainly be an addon development nightmare. Then there is the idea of a command line utility (or utilities) that could be added in to the File Manager context-sensitive menu. But, again, not even close to ideal given the myriad Desktops in use, and it would be an extra step outside of the IDE. Oh well. Leaving that aside... Since we strip the first and last lines, the salt could, and I think should, be randomized. -- Lee From g4mba5 at gmail.com Tue Feb 16 20:11:36 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 20:11:36 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: Message-ID: Le 16/02/2021 ? 19:58, T Lee Davidson a ?crit?: > On 2/16/21 1:02 PM, Christof Thalhofer wrote: >> Hello, >> >> i wrote a small project which packs a file especially for Gmail so that >> it can be attached and sent without Gmail rejecting it: >> >> https://gitlab.com/christhal/gmailpipe >> >> You can pack a 'project.tar.gz' into 'project.tar.gz.gmail.txt' and >> reverse. >> >> It's also in the software farm. Please try it out and have fun with it. >> If it works we could think about integrating it into the IDE. >> >> Alles Gute >> >> Christof Thalhofer > > I think it is a sad thing when people have to adapt a software > development environment just to mitigate the heavy handedness of > GMailFilter. Unfortunately, I see no other practical solution. > > Perhaps the ideal solution would be to utilize a mail client addon to > optionally pack on send and unpack on receive. But, alas, that would > certainly be an addon development nightmare. > > Then there is the idea of a command line utility (or utilities) that > could be added in to the File Manager context-sensitive menu. But, > again, not even close to ideal given the myriad Desktops in use, and it > would be an extra step outside of the IDE. > > Oh well. Leaving that aside... > > Since we strip the first and last lines, the salt could, and I think > should, be randomized. > > Maybe I could add that format to the IDE? Maybe using instead "project.tar.xxx.base64" extension ? -- Beno?t Minisini From chrisml at deganius.de Tue Feb 16 20:21:42 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 20:21:42 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: Message-ID: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> Am 16.02.21 um 19:58 schrieb T Lee Davidson: > Oh well. Leaving that aside... Yes. But i agree to your thoughts. I would prefer if the people would leave Gmail ... but this is fantasy. > Since we strip the first and last lines, the salt could, and I think > should, be randomized. What would be a reason for that? I used an uuid to later be able to distinguish between versions. Maybe we'd had to pack in another way in the future ... but have the old versions in the archive of the mailinglist and i wanted to be able to unpack them. 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 Tue Feb 16 20:27:53 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 20:27:53 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: Message-ID: Am 16.02.21 um 20:11 schrieb Beno?t Minisini: > Maybe I could add that format to the IDE? > > Maybe using instead "project.tar.xxx.base64" extension ? It's not real base64. I just added the salt so that the "artificial intelligence" filters at Google are not able to recognize it as base64. ;-) "salt" is misleading, in reality it is just an envelope. 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 g4mba5 at gmail.com Tue Feb 16 20:32:19 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 20:32:19 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: Message-ID: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> Le 16/02/2021 ? 20:27, Christof Thalhofer a ?crit?: > Am 16.02.21 um 20:11 schrieb Beno?t Minisini: > >> Maybe I could add that format to the IDE? >> >> Maybe using instead "project.tar.xxx.base64" extension ? > > It's not real base64. I just added the salt so that the "artificial > intelligence" filters at Google are not able to recognize it as base64. ;-) > > "salt" is misleading, in reality it is just an envelope. > > Alles Gute > > Christof Thalhofer > OK. I just need an extension so that the compressed file can be recognized. I can keep ".gmail.txt". -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 16 20:42:11 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 16 Feb 2021 20:42:11 +0100 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: Message-ID: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> Le 15/02/2021 ? 17:29, Bruce Steers a ?crit?: > > > On Sun, 14 Feb 2021 at 21:02, Bruce Steers > wrote: > > Hi. > I'm trying to use the "Run command after" option when making an exe > to auto-alter some version texts in various files > i made a gbs script file that i can place in the source folder and > it does the version change okay but i can't launch it. > > [...] I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your tooltip text, and replaced it by an explicit help label. Regards, -- Beno?t Minisini From adsicks at gmail.com Tue Feb 16 20:42:50 2021 From: adsicks at gmail.com (Jeff P. Zacher) Date: Tue, 16 Feb 2021 13:42:50 -0600 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> If I run this code: ' In Form1 Public Sub Test() ? Print "form" End Public Sub Form_Open() ? Test() End ' In Class1 Public Sub Test() ? Print "class" End I get the following output: form What am I missing? This is what I would expect. If you want to overload, just create a class that inherts a form class and overload it.... On 2/15/21 10:58 AM, Brian G wrote: > Are you adding dynamic classes as plugins? Not sure when this would be > needed? Or are you defining classes on the fly in you code? > > Would be interesting to know how your using it! > > It is a simple way of writing once and basically having a sort of self > modifying code. That is any module or class can change the actual > destination of a call without the main process knowing about it. > > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"olivier coquet" > *To: *"Gambas mailing list" > *Sent: *Monday, February 15, 2021 5:35:10 AM > *Subject: *Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit?: > > > > On Sun, Feb 14, 2021 at 10:05 AM olivier coquet > > wrote: > > Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit?: > > Am 13.02.21 um 09:08 schrieb olivier coquet: > > A question to specialists, is it possible to hijack a procedure or > function? > Let me explain: > in my FMain class, I have a procedure: > > public sub maproc?dure() > > This "?" should nor be allowed in the name of a symbol. > > print "toto" > end sub > > in a maclasse class, I have a second procedure: > public sub maproc?dure() > print "titi" > end sub > > I would like that during a call: maproc?dure() in the FMain class, it is > the one of the maclasse class that runs and not the one of FMain. > > Is this possible? > and how? > > No. The only possibility is that in Fmail you call > this: maclasse.maprocedure() > > Hello Christof and thank you for your answer. > > As I'm French, I'm stubborn :) > So I dug a little bit into the problem and I found a solution. > > Just declare a public variable (*varfct*) of type object in fmain and initialize it with "Me". > In Fmain we call the procedure in this way: > > /varfct.maprocedure()/ > > In the main() of the class added next, I change the value of*varfct* by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. > > Not very elegant but it works. > > Friendship > Olivier Coquet > > Translated withwww.DeepL.com/Translator (free version) > > > I don't quite understand what you are trying to achieve, but "Me" > can refer to any class (here FMain or maclasse). > So, even when your variable name stays the same (varfct), you are > essentially doing the same as this: > > FMain.maprocedure > maclasse.maprocedure > > or perhaps more enlightingly: > > Dim hObj as object > > hObj = FMain > hObj.maprocedure > > hObj = maclasse > hObj.maprocedure > > > Jussi > > Hi jussi, > > Thank you for your response, > To answer your question, I have been working for 3 months on a home > automation project that involves the use of several elements. > The first one, an http server that is simple to implement and that > integrates perfectly with a gambas program has been made as a gambas > component (see my messages about this) is perfectly operational. > The second one is the main program that takes care of the management > of the connected objects, the scenarios and the launch schedule of > each scenario is also operational (well almost, still some bugs). > The third one is a system that would allow to add functions at will to > the main program without rewriting it. > It is on this last point that I am working on, a plugin system that > installs itself and joins the main program. To do this, I use a > component that I made in a special way. > Its functions: > - Able to create new buttons on the interface of the main program. > - Manage these buttons. > - To be able to substitute its own functions and procedures to those > of the main program without modifying it. > - Do not disturb the main program if the plugin is not installed. > > Hence my last question and the answer I gave there this weekend > So my plugin system is now operational, if someone is interested, I > can send the sources of a test plugin and the sources of an example > program implementing it. > > Friendship > Olivier COQUET > > > Translated with www.DeepL.com/Translator (free version) > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 16 21:00:20 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Tue, 16 Feb 2021 23:00:20 +0300 Subject: [Gambas-user] =?utf-8?q?gbs_script_version?= In-Reply-To: References: Message-ID: <1613505620.456391104@f17.my.com> I have added a preprocess to set the version number -- Thanks Brian Tuesday, 16 February 2021, 10:19AM -08:00 from Bruce Steers bsteers4 at gmail.com : > > >On Tue, 16 Feb 2021 at 17:52, Beno?t Minisini < g4mba5 at gmail.com> wrote: >>Le 16/02/2021 ? 18:40, Bruce Steers a ?crit?: > > ? ? ?I've submitted a merge request for a simple change to gb.args to fix > ? ? ?this if it's okay with you. > ? ? ?It sets? $bVersionChecked to true if user has used Args.Has() to > ? ? ?check -V and stops --help printing built in version message if so. > > > I can think of other reasons overriding gb.args version for DIY could be > useful.. > > Eg. > *If Args.Has("V", "version" , "Display version and state") Then* > *?Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " (Stable)") > * > *Endif* > > Other things i thought were if Application.Version was read/write that > would fix the gbs versioning as could be set at script start > Wishing well > BruceS > >> >>To be logical, you should check the override of "-h" too. Someone may >>want to display its own help instead of the default one. >> > >yes i did consider that , I was not sure if you would accept the modification but if you think it's okay i have re-submitted with both help and version override. > >Thank you >BruceS > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 16 21:01:18 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Tue, 16 Feb 2021 23:01:18 +0300 Subject: [Gambas-user] =?utf-8?q?gbs_script_version?= In-Reply-To: <1613505620.456391104@f17.my.com> References: <1613505620.456391104@f17.my.com> Message-ID: <1613505678.671393013@f35.my.com> I had the same issue some time ago -- Thanks Brian Tuesday, 16 February 2021, 00:00PM -08:00 from Brian G brian at westwoodsvcs.com : >I have added a preprocess to set the version number >-- >Thanks >Brian Tuesday, 16 February 2021, 10:19AM -08:00 from Bruce Steers bsteers4 at gmail.com : > >> >> >>On Tue, 16 Feb 2021 at 17:52, Beno?t Minisini < g4mba5 at gmail.com> wrote: >>>Le 16/02/2021 ? 18:40, Bruce Steers a ?crit?: > > ? ? ?I've submitted a merge request for a simple change to gb.args to fix > ? ? ?this if it's okay with you. > ? ? ?It sets? $bVersionChecked to true if user has used Args.Has() to > ? ? ?check -V and stops --help printing built in version message if so. > > > I can think of other reasons overriding gb.args version for DIY could be > useful.. > > Eg. > *If Args.Has("V", "version" , "Display version and state") Then* > *?Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " (Stable)") > * > *Endif* > > Other things i thought were if Application.Version was read/write that > would fix the gbs versioning as could be set at script start > Wishing well > BruceS > >>> >>>To be logical, you should check the override of "-h" too. Someone may >>>want to display its own help instead of the default one. >>> >> >>yes i did consider that , I was not sure if you would accept the modification but if you think it's okay i have re-submitted with both help and version override. >> >>Thank you >>BruceS >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 16 21:37:50 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 20:37:50 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> Message-ID: On Tue, 16 Feb 2021, 19:43 Beno?t Minisini, wrote: > Le 15/02/2021 ? 17:29, Bruce Steers a ?crit : > > > > > > On Sun, 14 Feb 2021 at 21:02, Bruce Steers > > wrote: > > > > Hi. > > I'm trying to use the "Run command after" option when making an exe > > to auto-alter some version texts in various files > > i made a gbs script file that i can place in the source folder and > > it does the version change okay but i can't launch it. > > > > [...] > > I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your > tooltip text, and replaced it by an explicit help label. > Thanks for enhancing Ben. Fixed my text? Surely you mean "enhanced" ? (or did i do a typo) Cheers for the heads up as I'm using the $(FOLDER) one. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Feb 16 21:56:47 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 12:56:47 -0800 (PST) Subject: [Gambas-user] gbs script version In-Reply-To: <1613505678.671393013@f35.my.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> Message-ID: <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> Follows is an example of what a script may look like #!/usr/bin/env -S gbs3 -c Export Fast Unsafe #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" #ProjectOptions vendor=westwood include "TestScripterInclude" ,"TestScripterBadMain" #include "TestScripterLoop","TestScripterInclude" public sDog as string = "Bark Bark" private sCat as string = "Meow Meow" public struct MyDog cat as string puppy as integer end struct use "gb.eval.highlight" ,"westwood.testmakecomp:" class testlibclass Fast Unsafe export Public Struct frog croak as string hop as integer end struct public a as string Public b as string end class public sub main() dim a as new testlibclass dim ca as new test2 dim b as new MyDog b.cat = "This stuff" a.a = "this" Print "Output ***********************************" print a.a;;b.cat Print "Total=";ca.GetTotal() end public sub foxtrot() print "FoxTrot to tango" end Thank You Brian G From: "Brian" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 12:01:18 PM Subject: Re: [Gambas-user] gbs script version I had the same issue some time ago -- Thanks Brian Tuesday, 16 February 2021, 00:00PM -08:00 from Brian G [ mailto:brian at westwoodsvcs.com | brian at westwoodsvcs.com ] : I have added a preprocess to set the version number -- Thanks Brian Tuesday, 16 February 2021, 10:19AM -08:00 from Bruce Steers [ mailto:bsteers4 at gmail.com | bsteers4 at gmail.com ] : BQ_BEGIN On Tue, 16 Feb 2021 at 17:52, Beno?t Minisini < [ mailto:g4mba5 at gmail.com | g4mba5 at gmail.com ] > wrote: BQ_BEGIN Le 16/02/2021 ? 18:40, Bruce Steers a ?crit : > > I've submitted a merge request for a simple change to gb.args to fix > this if it's okay with you. > It sets $bVersionChecked to true if user has used Args.Has() to > check -V and stops --help printing built in version message if so. > > > I can think of other reasons overriding gb.args version for DIY could be > useful.. > > Eg. > *If Args.Has("V", "version" , "Display version and state") Then* > * Print Application.Version & Iif($bAppIsBetaStage, " (Beta)", " (Stable)") > * > *Endif* > > Other things i thought were if Application.Version was read/write that > would fix the gbs versioning as could be set at script start > Wishing well > BruceS > To be logical, you should check the override of "-h" too. Someone may want to display its own help instead of the default one. yes i did consider that , I was not sure if you would accept the modification but if you think it's okay i have re-submitted with both help and version override. Thank you BruceS ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- BQ_END BQ_END ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 16 22:19:46 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 Feb 2021 21:19:46 +0000 Subject: [Gambas-user] gbs script version In-Reply-To: <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> Message-ID: On Tue, 16 Feb 2021, 21:07 Brian G, wrote: > Follows is an example of what a script may look like > > #!/usr/bin/env -S gbs3 -c > Export > Fast Unsafe > > #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" > #ProjectOptions vendor=westwood > Cheers Brian I will look into that after work. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Feb 16 22:22:10 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 Feb 2021 22:22:10 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> References: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> Message-ID: <08bf6b0d-64ca-afdf-f2ca-28a1ff852497@deganius.de> Am 16.02.21 um 20:32 schrieb Beno?t Minisini: > OK. I just need an extension so that the compressed file can be > recognized. I can keep ".gmail.txt". We should try it out with various attachments. I also like Lee's idea of a command line version. So now i attach it itself. Alles Gute Christof Thalhofer -- [x] nail here for new monitor -------------- next part -------------- H4sIAPE2LGAAA+w6B1gTWbeDYgsWLKtgeYxRISyQZBKKhdCUJiAIiGIBkjAkkRSYTBBQinVFUVR0 VRbFAqgri2L5/8XVRXelWFFRwXVXFBHW9bdQVKKB/HeSEEJxfW+fut/7n/cjmcy5555z7qm3wBOx BcIoQRRKgz5ao4NmZ2dDPBE7G7rus71BiDUdYdKZTKYtAoFfDGsbCLb5eCJ1NJkUZ2MwDHH5mECK SyLehfe+/v+jjae1v1DARcVS9CPwIAxsa2v9Tvtb21h32B/4Ah2xtqXbQjD9I8jSrf0/tz/JnXAA 2BnH2Vy+CBXjsB9wBjhCgsHubBGHLSWRKFxzmEFnIPB0jQrgQD5byJdEoBhMg2egPLZYIAN4gXyB FI7CJDyMLYLBzwgMRWGpJAJfwsbQaXCcRAZz2WIYQ8MBFUzAkeEoLMBhtjicJsFIIkm4ICKOAMjE 4YAyzkdhHMVEUhgwJF7cZ82B3VExirGFsJ+MA9wV9la7LAykjCIgUj4aDnPiVOhuBPcADXfYTQKo snGBRDwNRgWgH4NjUEwK3mGGJQzYU9g4ISEGS6IILHMgVhwsZOMdiFTS322rj9E64p8qxbgfpwj8 j/K/Ov4ROvNz/v8UrYv93XzYAjEVRL/oA/J4T/5HrJmMLva3sbNlfM7/n6JN0KR5kCExEewmEKIw k0onkZZqAOCLBMM+khg0gMsWouEUuiXdEkEQSwZiDjqWwh4uklhE9Q1eO2EilghApU+xtDZXdbnG RoFcD7PgQEyGqiABUWyuQMzTBS2FXXDfKFSsksRFhuMSsQreXQbbdrowHIjG4oAIhUyMhCPAULK6 K0FDMzAWJwj6sXG+Crld2k5UGTaArJ1dB9nuAhP0ElTTJqh4szmoEOn42VUBDEvEcrK1pZ2anlbI HivuVNiPzY2E2SrpQdUENUxdkVQ1U4oCOYhaKQV1CWZ3DF0CaplEhsNqmhi6GOXihEYFOBWeI44i SKoIEr9AbVSVdRUqgILaRlXpKUFrSMa7DGnzFwwZEIUBGKJ5dtf3FMKKjHaiCVrzO3OJCvxO4zOZ YBxjcg/WJ5vDpjCZSqWSO1FU82e8Uw47RjdBEkgJ/5HVvnvrMf9zhWyp9MPxeE/+t7G17Vr/bREm 83P+/xTNrD3/q2yuShYkkqtYJoJnScSopaoieEr9VOmj/W2WBFcDSH6YIAaskeGJUlVqdZbCAbgq yLQdATh4qHOvKgMBFE8xjvJQTIszXSKW4jA3gC3EATaGd5ABUU2218I5VrZ0lB7ORqxs0Ag7K2uw SrBis61RK2tbjk04k8mmW9sxHMg90XUVh/dAFUC7o6vlJCQG3QR2p3FUVbxQ8VicTCJpdiEBMo5O 0QqdDmCRFHOSKpnMEIjgrrrRdLCFEh41UICD7EwkrwBUCHK3pgBoypcGSTWeBQegOJHbpQvINIKZ ayxI4CqWNAKBvEg1xDOifVS7QBRzsF8DZdEfxWWYOp9qzMXSZaDO4+9hAYaox6onoVNWqZosrNsN ZAlEpSoUihpuDjB0PUolmSYjw9rUT9VmdHUJI5trUbr5U2d66vIkBFvCP+Ot9d/3sff7bzLvCAgV f+A3EUQQhZO0zuUmE6urmlaoLl5hrhsZHa7jJsCkuLdAjHb1HzA/11iQkCiauXWaSQAfFQphMh9l h8NWYgQ2I4PCqGYICiR4C5TokCZpxxFKwwQiSkcfoTSdyOzEhWhqp+pug3Y7vBu5s8509PYuFRJh RozoSXuWsHQGUKyOOjt0KJKCbq4o/N0aJIZ20SAYREScjAP6KWTVYtQUgdlCDKg0DkaJcVIq7BuD Ykswgeocw5FsrpHCXFefPqhUyuah1Nky0AMcgKIShxyMSsngMZ0t5qJCMqFlRnfluktwCQEl1NBZ SV3UpbE3yuVL1LbWMRlhcNhB4wIqJRGQaSDlo7bWXT0DduiO2YUqkUrfgapedrXP2FMcIaF00uAS UGY0C1EwMVOkQ2NqlfmjUhQnMqd6zlN7cIA54r/oAv/B1jfTxDlshcDuzkI2JiLqE7wMxomFPoBb MMCLxuBW4cAZ2rHYGJUXr+tBOpS6esafkPsLbiAT/xVH0K236lzdQ7Ul6Fi+w+Tvz+Cd7aCeVHtV I0Kg6/JAi6r1SzVuJ29or0jvqV6deQN8tfRUfwGPj2vpeqNiSjcxzM1he4ceFi/dvMoVwyQY1Z8t kKJaqwA/FEtwjU2osLN2t0hYiw+sBYzEZ8egqnNVVE3YFKHCfkIUeAHYdYrZInWnzkAqYdQe5Owp 3euqWjNnbzSiY8pamFhby63epQctQZ1U0ZNJVNzb/Ws6G+fyO7mtSk8UtbaI9YB5D8lI66bEwK6r h459aA+rpFkyofq0oAePINbdnVdpKmw1+w++K9XZ/0VhEuL44ENzeP/9j123+z9rOwT5vP/7FE17 /uentn7HEaBqa8Lq8bCKpFpayKJYquMCUpD6goSFUOlUhDRdIooCLizGWTwOVSACwdQZxJMJOgOI 0+bOEKlmG0IC8crFBKobGZbm3OzvPCwjOcsABUzKIne/CiOTAtmcAEE8yrImBWJssZS4PGIhJG+2 mCcDSmCh4tA5AaQAiQzjqnIBi8aXiFBau1/RwFwjcUkUTRSHi6KATsXhEoylvV0jJgyoYIDidLAM wVEfVCwDL/9b++vEf7gAAwqRYHEfwq902/vin26NdD3/ZzA/3/9+krZA43agIOJY3CKSJxeEGpVG FYAnNQqsb/5uAT+3j9p04r/d5B+cx5/HP8OGYdvt/z/sbD+f/36SluI3y30QaTQR5oM8PWb4Q5Ae RHz69wWPhdhBYr4DojyCpRA0+Dzx0dtmMXgMBMGQ5wznwNjMp7suSSa6764uGirPy+u3vjzx4ILF J7ONPZnT9icYTbs9uoQqPLtm0PMQ4Vl6WNjyM2+GvDj3ozzibPKQH5+y7698uv7Bcb23deee/fLD 8d+Ob3G7cSJ7d+LmKzxW066hDjPcgoIKPEZ+k8fZLH8L9Tn2LeP4vrLU6mmJeob6zh/iD6FVudJe HEjyTz/yw75YsffCzfXld2rLG2HTEGbL74tK9Mxv+iZcbogsuC5fho+7CpmnmTjKd2b2djmYlf58 e2lxVa1NVfNDryyzSWeNx7z9KT0Jv3pJMvNlwg7LceXrnktHWnzzXHHXsaUyS/nD8bSJ/ZOzEsoe C08M+nX+lLcM/1mKy6FZmYpUpH/wVF/vUaMfVl5MemB2OvRNcNuiUN+11ydaZFlM2hi9u/Lki82b NvmzbsaWFhUl+s4c4PG1SVao78aSHCWVc7E+0qi2SH4nSdGcNsthBey2cB5Y0o2P2vKqX+4CqMJU ebOp6vuRDjE+RxGDvYqmbGmJQ++BqSZZc/61tdwqUtlQeSApPz7kmNGs+CSXpu1pD7x92iosl1+9 xzxw617LkTRl64EFZiauhusMDKDxt7ii4rNukXhhhWlRxI3RO+x9d2UP3jS83pvcB5o9VdyYMIUa dXH+PBeX/t45isJH5bd/eVPVMDyopCo2x0GiaL3eMMy/tjpncmJz4p1ek58ObU5bjJ18efxx9Vog 9bo+e4IXIEcLfyrPVKTPnyOYHiNsZA62Cc7l1xxXKBsb/DcqlgbFH1dEL6uhRfvncZqnmlTeNuO3 NU6eVIt85xBnv+dHu/T9NFZx1eRtKyt9rwslZ5TKtorq1oqmXZ6BGwwMko+NTB/GtxuUZyOvevso q/i8Jasyt+B2WHGhGR99WZddpBd2sWG1Scgx2xPK0JYHAZy93FLfuEUes1ua37yMNmA3ttwoOLBw VFjc2D34oGjF82W//Gwydnzz0jsXS8447o2FokdvX6zHD1rQ97Z0yZ68glJTR5MsRXFyxAulbOvp a23y2qzU3t6JiXIm9nNNoLKoJaFm6vyD3hsXLeifvvOrmpbG7eaLluD208Ss35fvTv9tbrXRGva+ M6deVie5NUA1+tTfel1L21bi0X9E6R9Zecva+I0+g8Q+TfI759cX1lWO/HlHkuPebcameam/Krev cF7XeLZqXm5YvJvzxg0mTkO9/IYuy9/tFbLsNuWXLJPQ2wqj1tZ11dGN1S0nSh88Y4YHkyojjUO+ qdE7j9dxwBxG9w0as2zmCWVzWZFD3c0stDo0K+Dqw+2OXqV6J+p4w+u/+HqV5W6vskMFqQ8fcoub GpwmfLUK6t3v4cMfUzb2HhFUNsKrZp/H5r3HX4+Frs3PiYWQXYXBEOoVdvKcu4OyKpvDHd18QhEj b8Lzx04Wwx5I4/OXvA2NDTkPZ9ZfTDn8e9hv2ZOQ/7pez417U8O6cGtpTvL58BOhCXNz7m1bk3Vw eGzvDY5PC97+IWiIGzEEzkXmGjhVfDuGb1dqpceSy5qLMqsdPJ8clpopklrjQ5CywoxAM8HzQ3fW pkx2KhwmWWw/vvJZpk94r+as9JTrUtOSqzReb1OXXgGRBlQXeuA5J2gPEHiD11Go1jstt7TAv351 EbXxwpFEk6yjFQpRbu9+3pzFbWfy5Ejx9q/3Vx4o/uIiAi1KsVtXkhYZN951vP7N15cmvPavO/Ko 8nJSZQPUeubWya3Zo03qhUmXmuxjQhO4vz/3aIA4WwCHlstpuTxOzgXpIFbGeZ5cOXbglgv2X14t sUypyVxGqbD+R1sqec/VkpNJ0YpVX5w1uuSYpnf/fur0mbsj264voZUyjb6/ocCaw+5frBk6dmBf eMMyoVwufFX0IM5kqtFB4JKzI54hyRfc90d86RW2IliRtDbax/5ZKddyjF9t2+qMLcMmWbhwLitp HGjFdFJf07ihBVljuePpM03y97902a2YtOpaRtKv5TSlQ5p7xlqyiuLeYI+BYVvcrsyoGOOq9G1S GjxNckHHWrRa1kAlZaL7Y3Oa0OgX4SPDRsh5m7xTOQO5L98OzMtckVlW0WTuoGg4Bdm+ukem9Out t66f4YTL60Puj8hZ8qWsUn/GmkRKbp3yZfbQTfcbvzfchIXfjjS3zZVLZ+Q/M96jwE3nGOn5rYCL cpOhfnMLBlwYXzis13zu8YWGF1zWbL1BGnZ/4cZgaL9Tfctr8/zSHd8umJdsaNQ8tX9rSF38dw2x Z2e2MCGTy0n6549hD+4+L2o9XDdmHVRM90YGNmcbnUnc0oe+s4L2Df0UZlhmFvOsIpK2iDHlzU/y 2rmPnQcMdlh3tWlznz2Dx9kZm3p9NcXEd+LubXd5j8jJfQqin4hOv70uoT3rnbL6xT3H1vJRp9ZT n/UqW8/6Y2PKmksHfNvssfyEJabS4SZm3m3L7FcfoRntCHNdvecfvZpttq0pbantd3bi3NJHpVuL nhRcOHLy9M2sK+6PnVqDwx5WWvSjjmye/OuYIX2H6UcZU8+eyPxlyqHCsVs8Wx6cP2mqeEreVur2 bEnb7TLr+v1Igf2GuRt7e5i6j9QLZ+uNKEcYd18ufZSxuvH1rQYDdNvR001pyWVfhYwgP26oLR1n gYZAwX3xV7u5ra9+MFAKOXGFR6EdX6cnDbe/q59urJjnFDG2ZEc8Td4gD7DSy6XuPucRkHb1wsqN WOBpZu4Gr2LX4pNY9taHpb3iZvp9nbdWMa92pP7wwuwtFP/tq+tC9zwN5bx9/M+J0Fok37L/5EGV tvAkQye4wsVpVBt9SlDtfrOiVW92RVpteDg6qG6DS+CqUIPhthnlcUKnmakDei0amG2t7J8jn5Pp RN/cz9wY2uuf4l17aMaI9KTZekUVRoOXtqxXtjrmxxie94+ONri/5dCUbz1MU+m28uXmrg6FQY/y FoYsPe09z7cNuRK6kB8Yll1uxRuWazWXurBPLmNEmU9SbUbWtn3DRwXf8DJsijhkCW3gGm9irDQ5 ttnC71ivySf+UZlx2rr/rj8sBLFB8b6tm3IGHCn6mVIBh18Yt2lgPHsILy7DcGGO2frysivLoGsZ JoWryRdzSc6Wo7x4evyFd6GVTjvW/ppK9Wmzj7X7kX+gTOmT/cL0RGxco2/2q3mePxyubKmqNflu mKXVFxH7my7RrYJHznk63VBy1n8+NPqufzp15s0VYybpu5lQkAflTzySGqaVr19S62GYKptgHLrz gE3RsSpjff3mDGhnpPynU5vKrrQ1lJvIFdnylEc8gRUxmeQRaysa0JPFzyuskxzklwpWelqEHfOs /76OVlRa8t2aGuaMx01m+1vBiCfn/BcQTJcnUzZfJFHqH1+Sx4wrpllV3/pi5ab9j0rjdx5JzM+f e1sx4bCTC+RSrBd4ztAt/Uym57UMx6KRgsSaqVGT1i+/p3+3Juppiv2Z298PH33qXweeQApL0T83 nnx29cjh/JxvErwvTMyMYq2YF5O/us8eZNCtNRaziin7hjx9fWlfmbtvzU8HeMeM+LOH+FEZl83+ 3c53BkXVdemejuQgSM4GQCU0uZEcFESCICAgEkVAJEkOQkNLVkBRckZBQZLkJA0NYiCIiPASmyw5 QwMN3MP7zTcz369bUzUzt+oWT/UPqk7Ye+219rOeddbhlD40CJ2spz+fc65/o3VkLqsMnnihR49+ zm7eFkgwyf/ZduNyR6Bf7DplM0gm18CLbD66Wr0wRc9uLjolCYU8DuPRCZpkf1wMetXx3XPg5dkw 0WCh85jey60b9N9N4Z9Zn7JaTpWW5i1C3wS5fvR3M9hM6NEzVyvJQGTrr2DUjYd+rZqEjYspPQnc WPyV668YdPj15eS5Ict0up+ktqo5M9BHfVYA+qeQ609TkQ7hAZhyBxWqcHkg+l4iF/xauWpZZZmm rvbRZEDCrECJ2MBv6I/k8NQfjsYl7VkWHKiHa7LdtXao9THJLj16madOzhAH9BSqtlMY0jQbNEKJ +eG37y4DCN6F4MRuKm807mCe9/PSt+kQhkAvYa/48H5366QUrGEY6LxPoWn7aIOxTWeKQQgzUx4l axtvrkqueKY4Kf5xYNSKCRfwqj27mQrGE3PmnYNSHobHfapW+jWmwsYNiU0SaDBTQ4OmNWaS8uam ghmidxhlUjjOwJKfimE8kHwbzg2edrj7CCv9iyYWcMkgrn8cB4MbbZu3/0TblAol1WPpnyWpqA9x eYPIvqQVcBH7aurBpxWad5l6pj3BLasX37QVFzMfHa2WmC+pwt0pj0k8ccP528E77XWGA8+rAMn0 5/aAiWMXxj/Iv5rQqKnZZhptwk8MUKoLKI8505Ze18uszMb1V5IfS9aklFWjLgFatM/w4tw3cU0I KSF4ywc3vXLxeSbvLP75exg6pld8nLR3sWSB0YBXW/xNXdr6FM+nuBpp4S8q3r3WjG3m758hbsUP wLRXp7EeGgd5Qtde2rU7chQJk8YKsnjl9lPFI9p+3majUpb4rUjtyr2sZxeN+vp5OsyZlYhXIsF4 aXBta6pTFyKv3VKgsgrdjLXU4v32snVkAAUcr/GQnGtjEbKDdY0QhjbO9+mIW7ONXQG2Yi4rSXu9 dOMdTQE1/V5T5ws5zpUg7kM6UUfqmfLrIS/G6QDxq5izZ0nnS8heVwPdqlq8zB1dh+Jh41n2TE+D ATO0sjnLZVdIunp0X5XirZ2DDNIbvvi9GFZuFXPK+xBt1Pe2AcHmYMNlAfzhHs0z3llcGAKTdS1J LNapw78hbPxgq0arlPwL8c+3zyCzQE0BVwxoTZ7SPrY8l4+NW/WBQAcluQ1b3XpMiEha62pNRvkA IuW4TeopHCf7j3nX8Bvv2anxviXwuB+ia6joSaXBfmpTR660iOPIRUpTgCWMInKNUKihQu8KR0BE I6lpIdGHZwbOfgREyE9O6awTxjxandtkJVOhv4OrQwDXAIrJWWURQMWQlQGA61t3ZyFqrRWVNy0D g/rVeEvij4L3WozoJrT4qDC8l6kpgNB3KENyQxs7OwQdt7xyw+inhRx6j+y+ecJ8X8Ef74Y7Cq/e TtDAcV3OPtuEFhhpnedYTHFvOqGIm1KMjFvB/2nW0VaBL4noPt+fFqDUozqDxdgNLUuDpzCSjlaP j4zowpIZOz40cAQq9UDbAfLc1niAN5JSDfrvo5+FXyjUaV+1N6PRNEwtHO+ZhtKrh/FBlOmZwuEn VlBCGfrzJ3clTE+s0QT+9eDfJgpSKRumRY/33IeAB3MSrdTb3+8cajOfHP/nTf85yBALgZ33jTr/ BQY++vw8jZcUb1TPJTCofpm0eACg7VGs2K9sQli8lAZdjAdrekjFzE6wBN8Ze6iqFuvebh3t1Cfd eKAWeV/1nKaEZytcDksO/hqwrBmokKz75AwX6Q1y1DFf2cwT8h64+yaGVDtNGONbisOxwzQczgOq XZK45zOZmu78bqxtmk+f2j/+JQRbkWLd9QqF4xhypYKSKaknz2ag2kN4bHviyiXIOxDK/uEASgNK 8BYBpOU5ikqeMw2ofhebMOOcZXA05rtowOd+9gKxv4X+fbxvwz2s3Vrh3aUkWgrMRXW9owEsuSUP 9XpXTtzqVcWdcLFWSY46wKaeKp6C9ww0qPXHzKWdQ7iov/UE9EOA9EqVubx58VReF3JFmsv394bD b0NNons4SxN98FEjjCJ7Pnlwa6mIe+g5NhRzUz31gKgRIr6d5Q0NrFLC1UQoZnrBPHM9Z53sUtTF GShsV6WWb5nSq0Sjun5QKYw415kUm7rp0CZY6nibaFHwhVi8mjQVwM0FPCFtWGHC7Xi1EWjbpKyq UiLoMhzDmXyoHJbecpVuPam0nrjzRUNAuzfOgHjDewfx4IImwoJGdWvqbE8AZOzu5pqczzBx7DpX DQct+04/OcD3erxZInLNXjR2zbcgIiPoqc+QFApA2pswiM58VoZaUURKzCyubp0PfILC2TfA5Mfm p4yU1M3El0VjDDWpJ6nxaPwnHltWexSb2sv3na3L4dh651Zp5vPkbwzH3ekLBtnUiY9dMT0+B+C0 OlDdvBdwKd+gnS3Id5IXgESMdfpEQx5gubS9vmm+yRP21Zw/mI3iIrX3Ifnxrh3ZgcqzoJeTU138 Y84BZU5UDMAt9zgFpc+WjejWvAzuTB816inq9/F1O3fowI3NwgDcidzZqyHj+zS4OLWuS2e5TFe+ 2EHFgYUTBKBBDHzMl8dpKYxErcrqPsPvi4yGqluNx60XHfIpDi9P3SFT4wy7xMDXAnl9bE+dXnn8 Vk0Fd+XN2h4dkrjnzQLeqldBI3v143z4JcVxLl4mBh2NOmAzlkIT0LAObR6bn1z3phvnQqApDdpU MRK4SU5vkafoAl6CnRozjil7k6ShElq6E0FcqoreWqUVzd/bnvbtC7j6De4dIfaou9yUAzfLGZvD nWQaIuDRXxqdZiAvyzpZMfAksE6pLZPnfCccMOohsC6oMGE2Q+DgDTdIbNUHfEcLRixxPvtoynHz TQmgUVLmDbwN8dmHlf9kyiln/XrjtegsHmRg4D8obssPzU+wyCkElsvgdnjVk2Ovu6CQHZKEZCR1 KskjxBhmAdG3mN6sZCQMqzVH7vRAyazSOGmGMfZsYBBi+HQRrZLYrAeRG4XKfB3FoabHPiovJ+yU 1PFi65UcVv0Vr664tXzAxO6Q3QjPQ7UkYK3F9nyQZ5DrvoUJEmfbb25e1nm3fxKoTD/iboPh35Z0 gPW4dlCl12hRse7Wjz9kYgHD8QJmOSjyziG5aAAfLZY16CVfAsN1RQ/xnEKEfTm1pzdB8Nn6zBGQ aZftwuYwyNJ87w2cFmZnTZr04rFcoSkbpZso6NB44Ibs6LxH/xGYhXrBzXiHdlefUmRy7hN3fmgo dXenk9IvBdc6ptWOuq3taNGslvoNfhguo44NehVaYY7XMlUfEO7uLdMxQarxv5qZELg0yfaBhsKK 3g68vCPadmKiMIJGr/GFaIlUc9Z99BYjuCXapjIUg1LSDhNSLW1R4amO2Q+6+hDvQB41xSBy72xz wSmCRmnWGlnOJee09kxT0wy34Y3olOoGPpMten3ofwTSYZy3/wkZle7zxYbCVS5HX6zU6cAVhz/P d1aB/tGgsNi++FEwLN7++MrhBXyFC6Y/NQzPez35qmslux6UXnUSF7d+p9Rfa3OVrkxiYlPPxi28 3jnbheOygizd5SClBKoyZQa+XorbSzS2SzRTKQZBnMoSWaRm96IonnGXCd2+a+mUjUsIYsnUVBEW ctXaTJs/RkLyEcyHnVZxxMGqaAUAdsL1g4zeeiVICIWoa3rmnT3Y02rTTbYZnSp79ten0i8sl2gS qMmCnpXShRPbFy0U9+IOSAnJe7sOg8hOPwpMtBrUKuSpY6LoHM2ZfHunILt9j5FCOeJoQBFxfZl5 7GGdpngISLWfBjkI12TUBXrSnB4mhtSYiSiOPSL0HRTVNhvAAPlV5DXUmp2ouqiWvQFGJZXpCfmC 35o781N4rrZNA8+EqKXX2p4Ljx7tk9cLctc2nSpn+sp0GAAPMEFA9cOUHp7rEoc8wtr2V7k138Pv yiz41pph7dl8++nWP3AQhs/zkLUIupb0rocW12MPrkg1NiwwrTpz0/YupAzKoNF47RKMRSrJn36i ODFgtvY235m30FHBS4mSx9vedOCQnEixULZPctk2rDod6n1i1sIO91T7eSFlyrmGVq7ZnceCcgEM 4IKuFvsRx1IjaHqMW1Dd9G+gogd8Fjtq8K97EkfPIOE5gY8uXVfB930+BMfZRqlK4qefG4SATCcT oUYiGbGAOalcgbyX5nabRKArDUg8EaEYqgvd8NhWuIaKeJ/6mhDMtfTXWvZyznKs8dx7Y1MKWr1a 3Zc3tnLPNmDJexpU1vc3XTBNKk8tknm7pjvXVy8w/gm/VG8dff/b3DytovU5cFsu0ZyXXwwnPgzG aMgpNP55b2XpnfgmBSfJahYb9Vv+HuZvpSAUr61JvJH/eEvizaR5H240H9sgzPRE1FJAUxzuVxL8 krdr7SOLsqqqeFQxjAk+wnWdGOiDWVZ5imb8cqH71xFGfD7iRrj1S76Mx6HcPTu8rXcOsOfa9wp5 chn5yW9XvdltNEnPc7zrcJX5w5WHBo/7+MB1FE/RG/Hcb8toEzPs7fHvCveg5UEzMTShsUthAGYu dv+vGIPGpQhW/pQF6k5WuNww4ssbBnP8BbX099529RsobcS+fjQe9XnTIlJ0l4y4IoiLsYg84hB5 ZMO6LfWLKc7jJsyYkwGgupCgnHzj6fs2oZKyr2zywxiZF2QyaLUuA4T4uW5e3eQWlcugZTYyLNw3 +EH3IW3dhLdTI2ei5limumMiQ01MuZoE23N4prZRrUWZ0dca/4QNbtputZ7FojNkf/hM7lZTSzoz ZtrhxFgdjnrIwPHUZ19jUuKT3xKTJHCzhXHBftBBZIdZV6tZl+rLGxds/LXEmBgO0fj7eso94mUL ZoDbwh47n1HwEZa3JelAzbPVHVKmEFkmQd4b95FKWPVnMlLtu1T55CxXzCUYSkaQvLYtvRJT8IDd t8gUrytxXdQgf8/PTaeqm+eWS4vpIdKrI/NOE3C8eafBTRvmzq/FFd3f8z2ZpJx59MEUFB6brjeN 1w9SjGEi9Imrv2wfhxui0rcHOt+Y5fG8VZVq/1KMqXcmtDykyUC1rKBaeQ3ClO0RQ5XXer1/pYZq a5HqX11E00CyWez/tB9pd1jC0zw+1H1rTakBTpKACA4qlky5JMuvcQ7+UeKsz2VDs2KeApMJfu0S cQjNMO7AyavtPegkjMUrwjtDykCG+rI/xvj25fAYVFc3k7n52W/t5eXGFSy/kysL4wET3mdiyeEf AUOPor5tvVeUS3S2Swfun0QsKIBhgkmpqW/BPTxddSoYKaP0ZEHmQsifjtexEoPhQxcdRivcm43w GfnY1HaxyD4ZrZ4ujo7pwbVHj9IlDlTSeUAfPVURXpl4VL1SDSY7Pxmc8ehn/65WLe7aPoWNmgVp xabm6JpUkRPqAklEdCMI8H9t3SVeZrwEn56Yeo6k7l670NPX85HfuheN7Mi3t63QhVqN3aJ3g4Dq uXt37zb7/tIvjuz6bcXFcJPdR42jJTn3KqIznrCBizvpfFs4qUqHCd3Q7xZLhUllAHbNRFZqzDmR FLQkQdGLFtyQ7APuX86wIimqKyULdqg7J2SPKAMmta2UItdBFvmhh/pyMJrVjvq6tqiLCXcmYLev /naSNjZnvM5N9SNRebhqbeI61+7dla8imPeSjsml532HKMpGqURflTY/Eurufaz9of9X/lupy0Cq 3AVgNnIlSC7ytvwykTgriNNHD18FlJlWOMPELLZUA+tkMLYoeYcAk11DN+270JL31V1ja/mWGqXd w1wLh8iIwRWNPxnl3MG9g0g8GOHh9nnWHGcBc+AXw6NuTWAU1TLeuDJVMcp9Vf9xiYcERZVt93fa fb8fuk6H7FnO94JezXK4clKv2/fErn0/hNBi/+ooF+TsA1Mk9i4NWays7cALqtvLBylCGNmX5FHW 6TYB9BMN53l6GlxnPehsZyg1L02YIkMl8aOzDjKWHbc47B08ZBkZom5tw1QuuxHmvPYDYIHlSies YCgUN1/ai9Cq4dAdW05OljkxO0tjvVluY92f1Zq+QKLmWOT8myENApiK4rknv+bE+dxRaGyanHTp aw+3z3FMK7sZFCSqXT53ZfckXPpi45aDnuJ5VVLvWfSP2RlI0Iw41tf2eeqnVa2yuvMJUqE0SBfw fY0eegKaZ+xddzr6SpRFu3/EGXHmcFwc5Lg+6HJdC0DnBUGsL/+IuQ4lGIm2FR19HfUpZR/d/wDW FoXDg+9My+a4DgcMSUH8VFaxYB0EJiR52S2xSFH7HiWKGQb5Vfggz2eQ0wGBcTm9mu7u+18RmvDQ RuNg03K0BkgYE3+BkVdpnvD7WJQczJjKBwSwkiqyQHvQ4Ux7Fw+ThKOP89H8HYn2U974z9G2sVJK fLNUUX/JxlOGBCVPfokDUxJRYvawKNqeDUzV+ENj59lYfNuMchFkTvnVDU44xQ4Wjp1eOjowCoes CcUGCLO4Fte+M43pv2F03ANuBdr0muNgI/3Xzx5OJRwIs+ymijyMkT6+EqR0m9qK9k/1YADeN196 yKhd3HB+9cFoywO8qTaM3oZ636knpGLImzFaf3iTfagklWS432zyBZoMex//J+ySf28a05FhWL0d IcObhs5YoZIzgfnIHHIf0hmSG6d47VjvrTWH72DJxKg3jVf0kSXFWXg6LMWwaRO/RGqYMIRccT1o MvVZMy4Kv+tF1m3Uf3SHNA6qeM54A+EZHXGxvm45I7VVC1J3dIxXT6hGwPE9trOwZJhB4dChdmf1 dmKCBh6SzVMQaVD+KvqrVSFPjrNb7YNPFbfG6nzBEBqQA8UA3R0nX9fRvC/HTKA6onCQ5QfVDkaM sHjIt0NifZ9stxjf3pKt5T1gzsGR+bw4nEZmnOekVAGr0ry1LW4YNTD3RY5Vav1wG5kqPRp6h+Jw ew6w1brL/qjamzHTmZDRn2r208mtcSkMTcm4db5/IUD/9dN6gawuv5x554Q5rijZ1Ooor57PYKoZ roqnjMpQicRbVfMXVOcwH444X/VtWJ7UTfh9aCl1sjDP3i8Xa2ND7NCbrvkNhE81CxNNRnTDh2V/ Ng4Kg/3uumRcffCOYqiyP9HcqSTMS8/xgKbn8/XR68NGAdtin+nzz41D0K0+GpBwCSHtwmHk2N3t tRZ/WFomNrUOrnAMktbtm2WyOLYr0gCFQUhF6moFKT3RdmIsOgrc2yV22ctmg4Vy6DVbomM+e9Cs jhIj3wvmA+pM73teztiiiLGUL5OcxmMoQ6f9ervsmXReQJ7D6+7bBVAW6dEaJSQM4Mn/KqB/DQCU ZifvAkRYP+tjp55/OW400AbK78AyC43hKivhsFVLkD7MMbJW4q9nN7RhsES+q1NENCOakmErF+4k ReWTJsJeHbVaPNBLwQjq6Ed055Zof/HzRaiEuiTbxL8h76O+IX2PfE3eYS7V/HmHgRyNjDOjcIf6 cNUPb50Ps/xPRqVjmG3DOOKVfLRpU1wZjxoZCT2ZXJOuFrvlMs+6R+YHCdRSCbYVK4SDRa/G5tkc 69tjwWzZ/RgPUHylxkbl23b/CpT4Bt8JF9s5hO/eue++Imx9XhtxVSU0Q+Xp6IQnhN4eqvrs2BX9 OHgsnR7Yqx4W9rkADEltVzxgR8mSZbn9keB7QRmim0wwlcGNL+2s740BzStIiddXAxJDwC0JatPa 5lyz5JSbP9fyFk4eGXlkNzYsex8LHZaa+TrTqT7a5Qqs/EvQYu5ZixT694b53miiXD+os1Kz/UUW mO/y2xc0AOGURFMk1uihhGLU2AOSowDu2M87sseHDCR/rbVOFHaoJErPpWYtzce4bEUWxVpaO9Ek Hw8kw9p/G2cq3A67C0oCaptGdvU/4RS5klfqSY+xLZJo+cXpzXYKKCEXUq2t2ZaCU6GfMhXA2Tc8 Cdypj1u9Cmk1JHxgjmC2dxjUOggOzouNMNxs9rzFbAXSSpPXq5qVsXkNNDnD1hS1TlqXvD4rgHVn vVizLz6bbNafvCqw1ogFC8dobrIKhyNQz6gM43cHOHwD3oY/txtZrvn72ZkHTvqXbiOHFwco3awu n3H72ZR4o8rXAdyMyy/iwFKMzLk0Wch+ZpDNtvYZf71/oDs/oeMS6KhM78DAT3LgTBXkV8MfDpdL 8NPYY7peM21NXIfxuEiXGfkQ9Amu87wQFJkQNm/ZxMTHWdK5f9ogpbOgJx10FFipJ+91KzkP1DNY +iUfHIDzXHMoiHCNC+QkrncqNju7fajnH3McWJsa1jlxjVZG1Ezo0RUPnBV1iZ1Vu1HDtou/tPch 6xFbAxSsz8a9SK2eLiaXzZRWH8qOtg/q/Qo6qUA+DfEQvjeBxReXlQ9rj2Hkm0VaY07G1dL+9d4H sNUS/8GNR24bB0kMJ7WUdeWfGcFnYtoVEgjldArP0LM99XxB6/Vk3awgeeGklutipc48FMiZUzAK IRbh+TK9ApdobbZyPWcvq3ezmidM6eJbxv2LnoNVp7VCFknyMImREtoNWa6Q4YTRDch75sJF/cEC 2KSYXn5Cni8EdfsQ3jzCA5rDTPayU+1KT59HfuBRTHYF0rrQeJ0LSeGNFPskZ3B0VNoA2Tkkmh+w PkZKcsFcpe6Bq4HT4KBprDDAOnGXXjG5/LcwQmksJIb4DHP760efxOS8BrmB+4Mk3qa8+Kz7rG2X drCsSiMPJ3Tx+sOhlm6Kb1Vt6O19FSLXpn901EQoflLYKJeI/EFzmzphybyJ2qt9YjkcmzVi2R7n WuVWMNMqJptydJOWAiNrw8ZZVBLWQMOy+uGX2x+Bh+49bFT2L7UnBcfbJBgLG269hJIts4MKzOs7 xunxIJLjCrE3MeQVg+o5UfqXmuIzUx0pP/cPBdv1333eAEfuC5ybdPH8tPy9smfcU3vEBU1sMWZs Lu9vO3D6ZmMaaxY8KakJdJ6pOsoAdeMatpg/d2Ra8SbgEGpIsNMrRgb+pnFvmJiWg8qBFGpS9BeY ZuRv9i8v7uULBMW/+zoWw+CpanejkVt9kEsdrFU4wyiQ7tHW6S163c1jt5yOGmjIsj41RY/X9rdi qzUCDu6dPxnss+FakWOab+2CNau9r1QkYS6UV/Z8TslNN7CsA8vVbt62TzzWDZYMgIspMJ2GjX4J RN6E4u5AlUsFfPsOKfsXFMMTbSfBWKCrZif2FjMrmhTlzaS6Obg2O8EQEBZwWUac6yMN+hU0NKME IhRjH5gIwt8RrFIpPPFn3Qt/E7LA8u66iPKr46N81vQWUFG59q8lBDiT1oxhq5UKkvc8HJn3OrX/ fixeCwhh8eLoFcmTkFBPv0E9RX1Dkc/ekUsk25jmegrQPV9kyQzWcZ3yJb2e6+sPYFkjLhMTqRHh zhb37Mepbm2f5ATET0/twMpewF5Z1KABuUx9jrrkq/R4yddyo5r1Fn+uZo+a52BecC+yzlO596RU +NcZhxBQ64P5T0ieEykGMKkPc6tLtMNLoKPUlY5ptf1lJ0+7NNJoSH+MGV2rRsoH8dvTV+MOJ+MR ZVasGKmBVtdx0xazrs/RThMxTUd1NtCYUBUpJlMP4UDXvFg6GXaib0XIwZXKpHGdkFAMlTpLW79Q bEPiz0wDrWS/aoKfjLqoVsxM9Z3tAmlZrL27JBcjGI8HV6RAE3C7vxd9a2etq/K1ElzbRv7x3Jip JXsHRnSrCEl0su6viG6XGcY65NvVbKouDy1ONlXVX553Hiib+KuQPGqfOC74p9kP8cczw4lt4UXB lnwMXozmgxeUc1+sXj9aJf2cYs783NtniC9Kd6WonQf5qxekuSsVwHQ2gX8evmDwaGMxafJ891M4 juGWRP+51ETnyZboiKQmekse2nUdi7xg1ncZoSIBwfSjJQ0zyb4B7Xi5ZXbuEv/a4cfgBBwamM2q KQZMNhAKbRwnmqmMOpZJbW/kLk3/jXcvdudcG/gt6M4Ty4dYeLURubli75JvoN59zsa0G6Wtpn6d SEE+TAxJ/QqqXd8GBQbgrp/A+cKZ5j2wejzn6dpsNNAaweE14lRH7Bq+Aib9pT0xb7Iz3sgzII/T wmbOEfe+NTmqqDWxZH2VHQmE/QQFznI+FlSrNRy0vx8ym8VuLC8mhvhb/PBouh3Q9gFMP1E/mg4f mjvOeempRuo345qs5Y0A9b3Clo8Xs4dDFmlbOuC46BhQ4IDOSbXDTEw+QZZcZGrO+go1sdl62Jpq RzAeVZHT+6pTD9TPWk4rkBkdBU3X6HlBhGCx772BQkKlwGNNQEjMXyrH+Z0CiV2AU+DNEK+6VT3A G5nAC3GD/fju8b0+PV9RjKqSfQ2ZLYyYJBkeBuXz8uo7nyiu3KR/NpEu/EdnSUU5dwisI/L/2Qf6 j1bY382jnH+7OAHx700kMxqT3L55Qm+exh0Fahtdef8t8gxd+6WqtJOe1TZMcH1r/jZpq0Dp2r92 x+4oPHsbCleOcqmJ6YjjsdxGkdtY32LGvJMGV+ASuSY9U/6GCG4lmFhcxA1VMWf7uzv1j9ZVKAac zRfov/bBfjE8A/9EQChyW388VD5pjMH+eUJn3T2MUvANXUBl5KzgyZ3Dzf/N6FDe/56fDS0pOLKf uxdmUlB88q7qjWu66iWqVqH/D1+X/f8O/+n970fWLvb/Ix8A+/t/vKT+K99/lBSXFD/9/tf/Bv6T /x0c79+3c/kfiID/kv/FpU/8LyV1+v3PU5ziFKc4xSlOcYpTnOIUpzjFKU5xilOc4hSnOMUpTnGK U5ziFKc4xSlOcYpTnOL/iv8DV1/qtAB4AAA= From brian at westwoodsvcs.com Wed Feb 17 00:07:09 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 15:07:09 -0800 (PST) Subject: [Gambas-user] gbs script version In-Reply-To: References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1328158200.7499.1613516829788.JavaMail.zimbra@westwoodsvcs.com> Bruce I need to send the latest version to you it has not been committed yet and is still being tested. How to send it is always a fun choice! Thank You Brian G From: "Bruce Steers" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 1:19:46 PM Subject: Re: [Gambas-user] gbs script version On Tue, 16 Feb 2021, 21:07 Brian G, < [ mailto:brian at westwoodsvcs.com | brian at westwoodsvcs.com ] > wrote: Follows is an example of what a script may look like #!/usr/bin/env -S gbs3 -c Export Fast Unsafe #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" #ProjectOptions vendor=westwood Cheers Brian I will look into that after work. BruceS BQ_BEGIN BQ_END ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Feb 17 01:08:11 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 17 Feb 2021 01:08:11 +0100 Subject: [Gambas-user] gbs script version In-Reply-To: <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <68969cd6-e588-394d-eea2-0d5f4d4b3fa0@gmail.com> Le 16/02/2021 ? 21:56, Brian G a ?crit?: > Follows is an example of what a script may look like > > #!/usr/bin/env -S gbs3 -c > Export > Fast Unsafe > > #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" > #ProjectOptions vendor=westwood > > include "TestScripterInclude"? ,"TestScripterBadMain" > #include? ? "TestScripterLoop","TestScripterInclude" > Sorry, but I find that so ugly... :-/ Why do you want to define the project properties? It's a script, it's not an actual project... -- Beno?t Minisini From brian at westwoodsvcs.com Wed Feb 17 01:22:13 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 16:22:13 -0800 (PST) Subject: [Gambas-user] gbs script version In-Reply-To: <68969cd6-e588-394d-eea2-0d5f4d4b3fa0@gmail.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> <68969cd6-e588-394d-eea2-0d5f4d4b3fa0@gmail.com> Message-ID: <1612181987.7851.1613521333310.JavaMail.zimbra@westwoodsvcs.com> so the version is embedded into the cached version of the script, I only actually want the version and licence information Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:08:11 PM Subject: Re: [Gambas-user] gbs script version Le 16/02/2021 ? 21:56, Brian G a ?crit?: > Follows is an example of what a script may look like > > #!/usr/bin/env -S gbs3 -c > Export > Fast Unsafe > > #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" > #ProjectOptions vendor=westwood > > include "TestScripterInclude"? ,"TestScripterBadMain" > #include? ? "TestScripterLoop","TestScripterInclude" > Sorry, but I find that so ugly... :-/ Why do you want to define the project properties? It's a script, it's not an actual project... -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From brian at westwoodsvcs.com Wed Feb 17 01:28:36 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 16:28:36 -0800 (PST) Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> Message-ID: <31876251.7913.1613521716802.JavaMail.zimbra@westwoodsvcs.com> It is trying to be dynamic with loaded classes on the fly, not bound at compile time The attached script gives a demo or what I think we are talking about. More like this example: class xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class 'Of course we could load a library or componant before creating an instance of the contained class' Public sub main() dim cButtons as new variant[] dim oNew as variant oNew = new xx cButtons.add(oNew) oNew = new yy cButtons.add(oNew) oNew = new vv cButtons.add(oNew) for each mButton as object in cButtons ' call the same interface for each class ' Using the same object or button assigned to the form mButton() mButton.MySub() next cButtons[1]() cButtons[1].MySub() ' mButton could be any object with the correct interface ' display form with plugin button or redefined button end Thank You Brian G From: "Brian" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:19:49 PM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? or like this: Thank You Brian G From: "Jeff P. Zacher" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Test() End ' In Class1 Public Sub Test() Print "class" Endclass xxPublic sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub _Call() print "form" end Public sub MySub()Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) class xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" Endclass xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End I get the following output: form What am I missing? This is what I would expect. If you want to overload, just create a class that inherts a form class and overload it.... On 2/15/21 10:58 AM, Brian G wrote: Are you adding dynamic classes as plugins? Not sure when this would be needed? Or are you defining classes on the fly in you code? Would be interesting to know how your using it! It is a simple way of writing once and basically having a sort of self modifying code. That is any module or class can change the actual destination of a call without the main process knowing about it. Thank You Brian G From: "olivier coquet" [ mailto:ocoquet at 3d-phenomen.fr | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Monday, February 15, 2021 5:35:10 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit : BQ_BEGIN On Sun, Feb 14, 2021 at 10:05 AM olivier coquet < [ mailto:ocoquet at 3d-phenomen.fr | ocoquet at 3d-phenomen.fr ] > wrote: BQ_BEGIN Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit : BQ_BEGIN BQ_BEGIN Am 13.02.21 um 09:08 schrieb olivier coquet: BQ_BEGIN A question to specialists, is it possible to hijack a procedure or function? Let me explain: in my FMain class, I have a procedure: public sub maproc?dure() This "?" should nor be allowed in the name of a symbol. BQ_BEGIN print "toto" end sub in a maclasse class, I have a second procedure: public sub maproc?dure() print "titi" end sub I would like that during a call: maproc?dure() in the FMain class, it is the one of the maclasse class that runs and not the one of FMain. Is this possible? and how? BQ_END No. The only possibility is that in Fmail you call this: maclasse.maprocedure() BQ_END Hello Christof and thank you for your answer. As I'm French, I'm stubborn :) So I dug a little bit into the problem and I found a solution. Just declare a public variable ( varfct ) of type object in fmain and initialize it with "Me". In Fmain we call the procedure in this way: varfct.maprocedure() In the main() of the class added next, I change the value of varfct by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. Not very elegant but it works. Friendship Olivier Coquet Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) BQ_END BQ_END I don't quite understand what you are trying to achieve, but "Me" can refer to any class (here FMain or maclasse). So, even when your variable name stays the same (varfct), you are essentially doing the same as this: FMain.maprocedure maclasse.maprocedure or perhaps more enlightingly: Dim hObj as object hObj = FMain hObj.maprocedure hObj = maclasse hObj.maprocedure Jussi BQ_END Hi jussi, Thank you for your response, To answer your question, I have been working for 3 months on a home automation project that involves the use of several elements. The first one, an http server that is simple to implement and that integrates perfectly with a gambas program has been made as a gambas component (see my messages about this) is perfectly operational. The second one is the main program that takes care of the management of the connected objects, the scenarios and the launch schedule of each scenario is also operational (well almost, still some bugs). The third one is a system that would allow to add functions at will to the main program without rewriting it. It is on this last point that I am working on, a plugin system that installs itself and joins the main program. To do this, I use a component that I made in a special way. Its functions: - Able to create new buttons on the interface of the main program. - Manage these buttons. - To be able to substitute its own functions and procedures to those of the main program without modifying it. - Do not disturb the main program if the plugin is not installed. Hence my last question and the answer I gave there this weekend So my plugin system is now operational, if someone is interested, I can send the sources of a test plugin and the sources of an example program implementing it. Friendship Olivier COQUET Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- BQ_END ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: scrtest2 Type: application/octet-stream Size: 1064 bytes Desc: not available URL: From chrisml at deganius.de Wed Feb 17 01:42:59 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 17 Feb 2021 01:42:59 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> References: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> Message-ID: Am 16.02.21 um 20:32 schrieb Beno?t Minisini: > OK. I just need an extension so that the compressed file can be > recognized. I can keep ".gmail.txt". Hmm ... after a beer ... too much honor for the originator. How is it with ".obsfugation.txt" ... or even ...."obsfuck.txt". ;-) I just thought '.txt' to be able to mislead the originator of that mess (Gmail filter). Bruce Steers! You are a very funny and creative writer! Do you have any idea? 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 brian at westwoodsvcs.com Wed Feb 17 01:40:09 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 16:40:09 -0800 (PST) Subject: [Gambas-user] gbs script version In-Reply-To: <1612181987.7851.1613521333310.JavaMail.zimbra@westwoodsvcs.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> <68969cd6-e588-394d-eea2-0d5f4d4b3fa0@gmail.com> <1612181987.7851.1613521333310.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1906171779.8011.1613522409468.JavaMail.zimbra@westwoodsvcs.com> Latest gbs version Thank You Brian G ----- Original Message ----- From: "Brian" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:22:13 PM Subject: Re: [Gambas-user] gbs script version so the version is embedded into the cached version of the script, I only actually want the version and licence information Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:08:11 PM Subject: Re: [Gambas-user] gbs script version Le 16/02/2021 ? 21:56, Brian G a ?crit?: > Follows is an example of what a script may look like > > #!/usr/bin/env -S gbs3 -c > Export > Fast Unsafe > > #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" > #ProjectOptions vendor=westwood > > include "TestScripterInclude"? ,"TestScripterBadMain" > #include? ? "TestScripterLoop","TestScripterInclude" > Sorry, but I find that so ugly... :-/ Why do you want to define the project properties? It's a script, it's not an actual project... -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: gbs3-3.15.90.tar.gz Type: application/x-compressed-tar Size: 48440 bytes Desc: not available URL: From brian at westwoodsvcs.com Wed Feb 17 01:43:45 2021 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 16 Feb 2021 16:43:45 -0800 (PST) Subject: [Gambas-user] gbs script version In-Reply-To: <1906171779.8011.1613522409468.JavaMail.zimbra@westwoodsvcs.com> References: <1613505620.456391104@f17.my.com> <1613505678.671393013@f35.my.com> <1441373016.7450.1613509007490.JavaMail.zimbra@westwoodsvcs.com> <68969cd6-e588-394d-eea2-0d5f4d4b3fa0@gmail.com> <1612181987.7851.1613521333310.JavaMail.zimbra@westwoodsvcs.com> <1906171779.8011.1613522409468.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <2139104328.8030.1613522625033.JavaMail.zimbra@westwoodsvcs.com> Now with packer from farm Thank You Brian G ----- Original Message ----- From: "Brian" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:40:09 PM Subject: Re: [Gambas-user] gbs script version Latest gbs version Thank You Brian G ----- Original Message ----- From: "Brian" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:22:13 PM Subject: Re: [Gambas-user] gbs script version so the version is embedded into the cached version of the script, I only actually want the version and licence information Thank You Brian G ----- Original Message ----- From: "Beno?t Minisini" To: "Gambas mailing list" Sent: Tuesday, February 16, 2021 4:08:11 PM Subject: Re: [Gambas-user] gbs script version Le 16/02/2021 ? 21:56, Brian G a ?crit?: > Follows is an example of what a script may look like > > #!/usr/bin/env -S gbs3 -c > Export > Fast Unsafe > > #ProjectOptions title="westwood.testlib1",type=Program,version="1.0.5" > #ProjectOptions vendor=westwood > > include "TestScripterInclude"? ,"TestScripterBadMain" > #include? ? "TestScripterLoop","TestScripterInclude" > Sorry, but I find that so ugly... :-/ Why do you want to define the project properties? It's a script, it's not an actual project... -- Beno?t Minisini ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: gbs3-3.15.90.tar.gz.gmail.txt URL: From g4mba5 at gmail.com Wed Feb 17 02:01:11 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 17 Feb 2021 02:01:11 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <08bf6b0d-64ca-afdf-f2ca-28a1ff852497@deganius.de> References: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> <08bf6b0d-64ca-afdf-f2ca-28a1ff852497@deganius.de> Message-ID: <86889d01-736f-c4d3-b700-7a38760f2244@gmail.com> Le 16/02/2021 ? 22:22, Christof Thalhofer a ?crit?: > Am 16.02.21 um 20:32 schrieb Beno?t Minisini: > >> OK. I just need an extension so that the compressed file can be >> recognized. I can keep ".gmail.txt". > > We should try it out with various attachments. I also like Lee's idea of > a command line version. So now i attach it itself. > > Alles Gute > > Christof Thalhofer > I just added support for ".tar.gz.gmail.txt" format, so that anyone can test. Note that I have changed the first and last line of the file. I don't know if this is important. Regards, -- Beno?t Minisini From chrisml at deganius.de Wed Feb 17 08:19:27 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 17 Feb 2021 08:19:27 +0100 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <86889d01-736f-c4d3-b700-7a38760f2244@gmail.com> References: <62eaf34c-6f45-b221-d7fe-815da3d5f0d0@gmail.com> <08bf6b0d-64ca-afdf-f2ca-28a1ff852497@deganius.de> <86889d01-736f-c4d3-b700-7a38760f2244@gmail.com> Message-ID: <81f07947-47c8-4d5d-9dfa-9293bce4d792@deganius.de> Am 17.02.21 um 02:01 schrieb Beno?t Minisini: > I just added support for ".tar.gz.gmail.txt" format, so that anyone can > test. Thanks :-) > Note that I have changed the first and last line of the file. I don't > know if this is important. I don't know also. Is any Gmail engineer here in the house? > " Very nice :-) I also adapted this to my small program. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From ocoquet at 3d-phenomen.fr Wed Feb 17 09:31:27 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Wed, 17 Feb 2021 09:31:27 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <31876251.7913.1613521716802.JavaMail.zimbra@westwoodsvcs.com> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> <31876251.7913.1613521716802.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <55f3f511-c20d-9e47-3a44-0582dd531394@3d-phenomen.fr> Hello Brian, Have you tried the code I sent and does it work for you? What do you think about it? friendship Olivier C. Le 17/02/2021 ? 01:28, Brian G a ?crit?: > It is trying to be dynamic with loaded classes on the fly, not bound > at compile time > > The attached script gives a demo or what I think we are talking about. > More like this example: > > class xx > Public sub _Call() > ? print "form" > end > Public sub MySub() > ? Print "form MySub" > end > Public Sub _new() > ' stuff > end > end class > > class yy > Public sub _Call() > print "sub form" > end > Public sub MySub() > ? Print "sub form MySub" > end > Public sub _new() > ' stuff > end > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > Public sub MySub() > ? Print "sub sub form MySub" > end > Public sub _new() > 'stuff > end > end class > > 'Of course we could load a library or componant before creating an > instance of the contained class' > > Public sub main() > ? ?dim cButtons as new variant[] > ? ?dim oNew as variant > ? ?oNew = new xx > ? ?cButtons.add(oNew) > ? ?oNew = new yy > ? ?cButtons.add(oNew) > ? ?oNew = new vv > ? ?cButtons.add(oNew) > > ? for each mButton as object in cButtons > ? ?' call the same interface for each class > ? ?' Using the same object or button assigned to the form > ? ? ?mButton() > ? ? ?mButton.MySub() > ? next > > ? cButtons[1]() > ? cButtons[1].MySub() > > ? ' mButton could be any object with the correct interface > ? ' display form with plugin button or redefined button > > > end > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"Brian" > *To: *"Gambas mailing list" > *Sent: *Tuesday, February 16, 2021 4:19:49 PM > *Subject: *Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > or like this: > > > > Thank You > Brian G > > From: "Jeff P. Zacher" > To: "Gambas mailing list" > Sent: Tuesday, February 16, 2021 11:42:50 AM > Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > If I run this code: > ' In Form1 > Public Sub Test() > ? Print "form" > End > > > Public Sub Form_Open() > Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub"class xx > end > > Public Sub _new() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _new() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _new() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end > > > Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub"class xx > end > > Public Sub _new() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _new() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _new() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end > > > > ? Test() > > End > > > ' In Class1 > > Public Sub Test() > ? Print "class" > Endclass xxPublic sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub"class xx > end > > Public Sub _new() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _new() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _new() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end > > > > Public sub _Call() > ? print "form" > end > > Public sub MySub()Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub"class xx > end > > Public Sub _new() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _new() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _new() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end > > > > ? Print "form MySub" > end > > Public Sub _init() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub"class xx > end > > Public Sub _new() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _new() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _new() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end > > > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _init() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _init() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end sub > > end > > > > > Thank You > Brian G > > From: "Jeff P. Zacher" > To: "Gambas mailing list" > Sent: Tuesday, February 16, 2021 11:42:50 AM > Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > If I run this code: > ' In Form1 > Public Sub Test() > ? Print "form" > End > > > Public Sub Form_Open() > > ? Test() > > End > > > ' In Class1 > > Public Sub Test() > ? Print "class" > End > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _init() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _init() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > cClasses.add(new yy) > cClasses.add(new xx)class xx > Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub" > end > > Public Sub _init() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _init() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _init() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end sub > > end > > > > > Thank You > Brian G > > From: "Jeff P. Zacher" > To: "Gambas mailing list" > Sent: Tuesday, February 16, 2021 11:42:50 AM > Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > If I run this code: > ' In Form1 > Public Sub Test() > ? Print "form" > End > > > Public Sub Form_Open() > > ? Test() > > End > > > ' In Class1 > > Public Sub Test() > ? Print "class" > Endclass xx > Public sub _Call() > ? print "form" > end > > Public sub MySub() > ? Print "form MySub" > end > > Public Sub _init() > ' stuff > end > > end class > > class yy > Public sub _Call() > print "sub form" > end > > Public sub MySub() > ? Print "sub form MySub" > end > > Public sub _init() > ' stuff > end > > end class > > class vv > Public sub _Call() > ?print "Sub Sub Form" > end > > Public sub MySub() > ? Print "sub sub form MySub" > end > > Public sub _init() > 'stuff > end > > end class > > Public sub main() > ? ?dim cClasses as object[] 'get the classes instantiated > ? ?cClasses.add(new xx)? ?' execute the init for each class > ? ?cClasses.add(new yy) > ? ?cClasses.add(new xx) > > ? for each mClass as object in cClasses > ? ? ?mClass() > ? ? ?mClass.MySub() > ? next > > > end sub > > end > > > > > Thank You > Brian G > > From: "Jeff P. Zacher" > To: "Gambas mailing list" > Sent: Tuesday, February 16, 2021 11:42:50 AM > Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > If I run this code: > ' In Form1 > Public Sub Test() > ? Print "form" > End > > > Public Sub Form_Open() > > ? Test() > > End > > > ' In Class1 > > Public Sub Test() > ? Print "class" > End > > for each mClass as object in cClasses > ?mClass() > ?mClass.MySub() > next > > > end sub > > end > > > > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"Jeff P. Zacher" > *To: *"Gambas mailing list" > *Sent: *Tuesday, February 16, 2021 11:42:50 AM > *Subject: *Re: [Gambas-user] Sub and Function hijack ?? is this possible ? > > If I run this code: > > ' In Form1 > > Public Sub Test() > > ? Print "form" > > End > > > Public Sub Form_Open() > > ? Test() > > End > > > ' In Class1 > > Public Sub Test() > > ? Print "class" > > End > > I get the following output: > > form > > What am I missing? This is what I would expect. > > > If you want to overload, just create a class that inherts a form class > and overload it.... > > > On 2/15/21 10:58 AM, Brian G wrote: > > Are you adding dynamic classes as plugins? Not sure when this > would be needed? Or are you defining classes on the fly in you code? > > Would be interesting to know how your using it! > > It is a simple way of writing once and basically having a sort of > self modifying code. That is any module or class can change the > actual destination of a call without the main process knowing > about it. > > > Thank You > Brian G > > ------------------------------------------------------------------------ > *From: *"olivier coquet" > *To: *"Gambas mailing list" > *Sent: *Monday, February 15, 2021 5:35:10 AM > *Subject: *Re: [Gambas-user] Sub and Function hijack ?? is this > possible ? > > Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit?: > > > > On Sun, Feb 14, 2021 at 10:05 AM olivier coquet > > wrote: > > Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit?: > > Am 13.02.21 um 09:08 schrieb olivier coquet: > > A question to specialists, is it possible to hijack a procedure or > function? > Let me explain: > in my FMain class, I have a procedure: > > public sub maproc?dure() > > This "?" should nor be allowed in the name of a symbol. > > print "toto" > end sub > > in a maclasse class, I have a second procedure: > public sub maproc?dure() > print "titi" > end sub > > I would like that during a call: maproc?dure() in the FMain class, it is > the one of the maclasse class that runs and not the one of FMain. > > Is this possible? > and how? > > No. The only possibility is that in Fmail you call > this: maclasse.maprocedure() > > Hello Christof and thank you for your answer. > > As I'm French, I'm stubborn :) > So I dug a little bit into the problem and I found a solution. > > Just declare a public variable (*varfct*) of type object in fmain and initialize it with "Me". > In Fmain we call the procedure in this way: > > /varfct.maprocedure()/ > > In the main() of the class added next, I change the value of*varfct* by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. > > Not very elegant but it works. > > Friendship > Olivier Coquet > > Translated withwww.DeepL.com/Translator (free version) > > > I don't quite understand what you are trying to achieve, but > "Me" can refer to any class (here FMain or maclasse). > So, even when your variable name stays the same (varfct), you > are essentially doing the same as this: > > FMain.maprocedure > maclasse.maprocedure > > or perhaps more enlightingly: > > Dim hObj as object > > hObj = FMain > hObj.maprocedure > > hObj = maclasse > hObj.maprocedure > > > Jussi > > Hi jussi, > > Thank you for your response, > To answer your question, I have been working for 3 months on a > home automation project that involves the use of several elements. > The first one, an http server that is simple to implement and that > integrates perfectly with a gambas program has been made as a > gambas component (see my messages about this) is perfectly > operational. > The second one is the main program that takes care of the > management of the connected objects, the scenarios and the launch > schedule of each scenario is also operational (well almost, still > some bugs). > The third one is a system that would allow to add functions at > will to the main program without rewriting it. > It is on this last point that I am working on, a plugin system > that installs itself and joins the main program. To do this, I use > a component that I made in a special way. > Its functions: > - Able to create new buttons on the interface of the main program. > - Manage these buttons. > - To be able to substitute its own functions and procedures to > those of the main program without modifying it. > - Do not disturb the main program if the plugin is not installed. > > Hence my last question and the answer I gave there this weekend > So my plugin system is now operational, if someone is interested, > I can send the sources of a test plugin and the sources of an > example program implementing it. > > Friendship > Olivier COQUET > > > Translated with www.DeepL.com/Translator (free version) > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Wed Feb 17 10:56:38 2021 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 17 Feb 2021 10:56:38 +0100 Subject: [Gambas-user] Text test for gmail users Message-ID: I send a small but complete project with internal database and reports from gmail for gmail users. Test attached. Can you kindly tell if you got it working? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 From bsteers4 at gmail.com Wed Feb 17 12:04:26 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 11:04:26 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> Message-ID: I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your > tooltip text, and replaced it by an explicit help label. > > It's a shame neither of us noticed that Project.Version returns the Gambas version and not the projects :( Sigh. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Wed Feb 17 13:35:00 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Wed, 17 Feb 2021 13:35:00 +0100 Subject: [Gambas-user] Text test for gmail users In-Reply-To: References: Message-ID: Am 17.02.21 um 10:56 schrieb Gianluigi: > I send a small but complete project with internal database and reports > from gmail for gmail users. > Test attached. > > Can you kindly tell if you got it working? No bounces. Gmail didn't detect it. And i could unpack it and open the tar.gz. It works. :-) 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 brian at westwoodsvcs.com Wed Feb 17 14:03:35 2021 From: brian at westwoodsvcs.com (Brian G) Date: Wed, 17 Feb 2021 05:03:35 -0800 (PST) Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <55f3f511-c20d-9e47-3a44-0582dd531394@3d-phenomen.fr> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> <31876251.7913.1613521716802.JavaMail.zimbra@westwoodsvcs.com> <55f3f511-c20d-9e47-3a44-0582dd531394@3d-phenomen.fr> Message-ID: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> Yes I have tried, Cool way to add plugins. It took me a while to figure out the right way to name the component.. project name had to be 'myPlugin.plg' or some derivative... I kept making it MaPlg1 , which it found but crashed because it was also the component name .. lol I have attached a text file, as I look at your program. Suggest to use _new instead of running through all the plugins. _new is executed upon instantiation of an object. See text file. and add Dir(Component.path, "*"&plgid&"*") filter to dir so you don't check every file. lol .. my french is very rusty.. have not really used it since high school in Canada! I worked in Quebec for a while.. but still.. Your example Works just fine! So Yes I tried you program ;) Brian G From: "olivier coquet" To: "Gambas mailing list" Sent: Wednesday, February 17, 2021 12:31:27 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? Hello Brian, Have you tried the code I sent and does it work for you? What do you think about it? friendship Olivier C. Le 17/02/2021 ? 01:28, Brian G a ?crit : It is trying to be dynamic with loaded classes on the fly, not bound at compile time The attached script gives a demo or what I think we are talking about. More like this example: class xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class 'Of course we could load a library or componant before creating an instance of the contained class' Public sub main() dim cButtons as new variant[] dim oNew as variant oNew = new xx cButtons.add(oNew) oNew = new yy cButtons.add(oNew) oNew = new vv cButtons.add(oNew) for each mButton as object in cButtons ' call the same interface for each class ' Using the same object or button assigned to the form mButton() mButton.MySub() next cButtons[1]() cButtons[1].MySub() ' mButton could be any object with the correct interface ' display form with plugin button or redefined button end Thank You Brian G From: "Brian" [ mailto:brian at westwoodsvcs.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 4:19:49 PM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? or like this: Thank You Brian G From: "Jeff P. Zacher" [ mailto:adsicks at gmail.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Test() End ' In Class1 Public Sub Test() Print "class" Endclass xxPublic sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub _Call() print "form" end Public sub MySub()Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub _Call() print "form" end Public sub MySub() Print "form MySub"class xx end Public Sub _new() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _new() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _new() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" [ mailto:adsicks at gmail.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) class xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" [ mailto:adsicks at gmail.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" Endclass xx Public sub _Call() print "form" end Public sub MySub() Print "form MySub" end Public Sub _init() ' stuff end end class class yy Public sub _Call() print "sub form" end Public sub MySub() Print "sub form MySub" end Public sub _init() ' stuff end end class class vv Public sub _Call() print "Sub Sub Form" end Public sub MySub() Print "sub sub form MySub" end Public sub _init() 'stuff end end class Public sub main() dim cClasses as object[] 'get the classes instantiated cClasses.add(new xx) ' execute the init for each class cClasses.add(new yy) cClasses.add(new xx) for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" [ mailto:adsicks at gmail.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End for each mClass as object in cClasses mClass() mClass.MySub() next end sub end Thank You Brian G From: "Jeff P. Zacher" [ mailto:adsicks at gmail.com | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Tuesday, February 16, 2021 11:42:50 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? If I run this code: ' In Form1 Public Sub Test() Print "form" End Public Sub Form_Open() Test() End ' In Class1 Public Sub Test() Print "class" End I get the following output: form What am I missing? This is what I would expect. If you want to overload, just create a class that inherts a form class and overload it.... On 2/15/21 10:58 AM, Brian G wrote: BQ_BEGIN Are you adding dynamic classes as plugins? Not sure when this would be needed? Or are you defining classes on the fly in you code? Would be interesting to know how your using it! It is a simple way of writing once and basically having a sort of self modifying code. That is any module or class can change the actual destination of a call without the main process knowing about it. Thank You Brian G From: "olivier coquet" [ mailto:ocoquet at 3d-phenomen.fr | ] To: "Gambas mailing list" [ mailto:user at lists.gambas-basic.org | ] Sent: Monday, February 15, 2021 5:35:10 AM Subject: Re: [Gambas-user] Sub and Function hijack ?? is this possible ? Le 14/02/2021 ? 21:44, Jussi Lahtinen a ?crit : BQ_BEGIN On Sun, Feb 14, 2021 at 10:05 AM olivier coquet < [ mailto:ocoquet at 3d-phenomen.fr | ocoquet at 3d-phenomen.fr ] > wrote: BQ_BEGIN Le 13/02/2021 ? 20:45, Christof Thalhofer a ?crit : BQ_BEGIN BQ_BEGIN Am 13.02.21 um 09:08 schrieb olivier coquet: BQ_BEGIN A question to specialists, is it possible to hijack a procedure or function? Let me explain: in my FMain class, I have a procedure: public sub maproc?dure() This "?" should nor be allowed in the name of a symbol. BQ_BEGIN print "toto" end sub in a maclasse class, I have a second procedure: public sub maproc?dure() print "titi" end sub I would like that during a call: maproc?dure() in the FMain class, it is the one of the maclasse class that runs and not the one of FMain. Is this possible? and how? BQ_END No. The only possibility is that in Fmail you call this: maclasse.maprocedure() BQ_END Hello Christof and thank you for your answer. As I'm French, I'm stubborn :) So I dug a little bit into the problem and I found a solution. Just declare a public variable ( varfct ) of type object in fmain and initialize it with "Me". In Fmain we call the procedure in this way: varfct.maprocedure() In the main() of the class added next, I change the value of varfct by "Me" (the one of the new class), and it's done, the call changes destination without changing the main() code. Not very elegant but it works. Friendship Olivier Coquet Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) BQ_END BQ_END I don't quite understand what you are trying to achieve, but "Me" can refer to any class (here FMain or maclasse). So, even when your variable name stays the same (varfct), you are essentially doing the same as this: FMain.maprocedure maclasse.maprocedure or perhaps more enlightingly: Dim hObj as object hObj = FMain hObj.maprocedure hObj = maclasse hObj.maprocedure Jussi BQ_END Hi jussi, Thank you for your response, To answer your question, I have been working for 3 months on a home automation project that involves the use of several elements. The first one, an http server that is simple to implement and that integrates perfectly with a gambas program has been made as a gambas component (see my messages about this) is perfectly operational. The second one is the main program that takes care of the management of the connected objects, the scenarios and the launch schedule of each scenario is also operational (well almost, still some bugs). The third one is a system that would allow to add functions at will to the main program without rewriting it. It is on this last point that I am working on, a plugin system that installs itself and joins the main program. To do this, I use a component that I made in a special way. Its functions: - Able to create new buttons on the interface of the main program. - Manage these buttons. - To be able to substitute its own functions and procedures to those of the main program without modifying it. - Do not disturb the main program if the plugin is not installed. Hence my last question and the answer I gave there this weekend So my plugin system is now operational, if someone is interested, I can send the sources of a test plugin and the sources of an example program implementing it. Friendship Olivier COQUET Translated with [ http://www.deepl.com/Translator | www.DeepL.com/Translator ] (free version) ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- BQ_END ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- ----[ [ http://gambaswiki.org/wiki/doc/netiquette | http://gambaswiki.org/wiki/doc/netiquette ] ]---- BQ_END ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: plg_test_plugin_response Type: application/octet-stream Size: 4346 bytes Desc: not available URL: From bagonergi at gmail.com Wed Feb 17 14:19:17 2021 From: bagonergi at gmail.com (Gianluigi) Date: Wed, 17 Feb 2021 14:19:17 +0100 Subject: [Gambas-user] Text test for gmail users In-Reply-To: References: Message-ID: Il giorno mer 17 feb 2021 alle ore 13:36 Christof Thalhofer < chrisml at deganius.de> ha scritto: > Am 17.02.21 um 10:56 schrieb Gianluigi: > > > I send a small but complete project with internal database and reports > > from gmail for gmail users. > > Test attached. > > > > Can you kindly tell if you got it working? > > No bounces. Gmail didn't detect it. And i could unpack it and open the > tar.gz. > > It works. :-) > > Alles Gute > > Christof Thalhofer > > Hi Christof, thank yoy very much :-) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 17 14:22:49 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 13:22:49 +0000 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? Message-ID: Hi. I've been playing around making custom controls using Inherit I've made a Button that Flashes bg random color (to grab attention) the class file starts like this... -------------------------- ' Gambas class file Export Inherits Button Public Const _Properties As String = "*,Delay=200" Public Const _Similar As String = "Button" '' Get or set Time between flash on/off in ms , default 500 Property Delay As Integer Private $Delay As Integer '' Get or set default Time between flash on/off in ms , default 500 Static Public Default_Delay As Integer = 500 ---------------------------- It works a treat in operation but the button in the IDE looks nothing like the other buttons. It looks fine at runtime but any idea how to get it to look right in the IDE? (see attached snapshot, the button called FlashButton) thanks for any info -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Snap.png Type: image/png Size: 12498 bytes Desc: not available URL: From tobs at taboege.de Wed Feb 17 14:56:34 2021 From: tobs at taboege.de (Tobias Boege) Date: Wed, 17 Feb 2021 14:56:34 +0100 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: References: Message-ID: <20210217135634.GD662095@T580.localdomain> On Wed, 17 Feb 2021, Bruce Steers wrote: > -------------------------- > ' Gambas class file > > Export > Inherits Button > > Public Const _Properties As String = "*,Delay=200" > Public Const _Similar As String = "Button" > > '' Get or set Time between flash on/off in ms , default 500 > Property Delay As Integer > Private $Delay As Integer > '' Get or set default Time between flash on/off in ms , default 500 > Static Public Default_Delay As Integer = 500 > > ---------------------------- > > It works a treat in operation but the button in the IDE looks nothing like > the other buttons. > It looks fine at runtime but any idea how to get it to look right in the > IDE? > (see attached snapshot, the button called FlashButton) > _Similar is not related to appearance. I think you need the _DrawWith constant. See http://gambaswiki.org/wiki/dev/gambas Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bsteers4 at gmail.com Wed Feb 17 15:57:22 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 14:57:22 +0000 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: <20210217135634.GD662095@T580.localdomain> References: <20210217135634.GD662095@T580.localdomain> Message-ID: On Wed, 17 Feb 2021 at 13:57, Tobias Boege wrote: > On Wed, 17 Feb 2021, Bruce Steers wrote: > > -------------------------- > > ' Gambas class file > > > > Export > > Inherits Button > > > > Public Const _Properties As String = "*,Delay=200" > > Public Const _Similar As String = "Button" > > > > '' Get or set Time between flash on/off in ms , default 500 > > Property Delay As Integer > > Private $Delay As Integer > > '' Get or set default Time between flash on/off in ms , default 500 > > Static Public Default_Delay As Integer = 500 > > > > ---------------------------- > > > > It works a treat in operation but the button in the IDE looks nothing > like > > the other buttons. > > It looks fine at runtime but any idea how to get it to look right in the > > IDE? > > (see attached snapshot, the button called FlashButton) > > > > _Similar is not related to appearance. I think you need the _DrawWith > constant. See http://gambaswiki.org/wiki/dev/gambas > > Best, > Tobias > > Brilliant , Thank you Tobias. _Similar i used so i could use the "Change into" function to quickly change a button to a flashbutton in the IDE It was almost perfect except for how it looked in the IDE. _DrawWith sorted it out a treat :) i have just recently discovered the power of using Inherit on controls in a class and getting into customizing them. Loving it, so far all i have is a flashy colour button and a GridView that has built in Sort and MoveRowUp and MoverowDown functions but feeling a new area of an awesomely handy library of custom controls ready for import into my projects in the making.. :) Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Wed Feb 17 16:08:45 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 17 Feb 2021 16:08:45 +0100 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: References: <20210217135634.GD662095@T580.localdomain> Message-ID: Hi Bruce Welcome, to the next level of Gambas users :-D. Here you will discover the true power of Gambas Object inheritance and designing :-P From ocoquet at 3d-phenomen.fr Wed Feb 17 16:54:18 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Wed, 17 Feb 2021 16:54:18 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> References: <3e441a18-60a9-d773-deab-f12370452abb@3d-phenomen.fr> <8d06be71-6990-5a88-384a-8baf7aa25df2@3d-phenomen.fr> <1368134624.6873.1613408305334.JavaMail.zimbra@westwoodsvcs.com> <5109398f-d7b7-6b2b-4a3c-77ec2e6de40a@gmail.com> <31876251.7913.1613521716802.JavaMail.zimbra@westwoodsvcs.com> <55f3f511-c20d-9e47-3a44-0582dd531394@3d-phenomen.fr> <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Hi Brian, thanks a lot for tests and observations.... It took me some time to understand what you were telling me with _new(). I had thought of doing it the way it was originally but it has a major drawback: The _new() procedure runs as soon as I instantiate out I wanted to be able to activate the plugin or not depending on certain states of my main program. So my solution allows to trigger the plugin start at the appropriate time. For the rest (the dir....) totally agreed with you, I hadn't thought about it. Remain to know, do you think it would be useful to create a gambas add-on for this kind of plugin management ???? friendship Olivier C. PS: for French language, deepl is our friend :) Le 17/02/2021 ? 14:03, Brian G a ?crit?: > Yes I have tried, Cool way to add plugins. > > It took me a while to figure out the right way to name the component.. > ? project name had to be 'myPlugin.plg' or some derivative... > ? I kept making it MaPlg1 , which it found but crashed because it was > also the component name .. lol > > I have attached a text file, as I look at your program. > > Suggest to use _new instead of running through all the plugins. > _new is executed upon instantiation of an object. See text file. > > and add??Dir(Component.path, "*"&plgid&"*") filter to dir? so you > don't check every file. > > lol .. my french is very rusty.. have not really used it since high > school in Canada! > > I worked in Quebec for a while.. but still.. > > Your example Works just fine! > > > So Yes I tried you program ;) > > Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobs at taboege.de Wed Feb 17 17:06:20 2021 From: tobs at taboege.de (Tobias Boege) Date: Wed, 17 Feb 2021 17:06:20 +0100 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: References: <20210217135634.GD662095@T580.localdomain> Message-ID: <20210217160620.GE662095@T580.localdomain> On Wed, 17 Feb 2021, Bruce Steers wrote: > On Wed, 17 Feb 2021 at 13:57, Tobias Boege wrote: > > > On Wed, 17 Feb 2021, Bruce Steers wrote: > > > -------------------------- > > > ' Gambas class file > > > > > > Export > > > Inherits Button > > > > > > Public Const _Properties As String = "*,Delay=200" > > > Public Const _Similar As String = "Button" > > > > > > '' Get or set Time between flash on/off in ms , default 500 > > > Property Delay As Integer > > > Private $Delay As Integer > > > '' Get or set default Time between flash on/off in ms , default 500 > > > Static Public Default_Delay As Integer = 500 > > > > > > ---------------------------- > > > > > > It works a treat in operation but the button in the IDE looks nothing > > like > > > the other buttons. > > > It looks fine at runtime but any idea how to get it to look right in the > > > IDE? > > > (see attached snapshot, the button called FlashButton) > > > > > > > _Similar is not related to appearance. I think you need the _DrawWith > > constant. See http://gambaswiki.org/wiki/dev/gambas > > > > Best, > > Tobias > > > > Brilliant , Thank you Tobias. > _Similar i used so i could use the "Change into" function to quickly change > a button to a flashbutton in the IDE > > It was almost perfect except for how it looked in the IDE. > _DrawWith sorted it out a treat :) > > i have just recently discovered the power of using Inherit on controls in a > class and getting into customizing them. > Loving it, so far all i have is a flashy colour button and a GridView that > has built in Sort and MoveRowUp and MoverowDown functions but feeling a new > area of an awesomely handy library of custom controls ready for import into > my projects in the making.. > :) In addition to what Fabien said, let me give you two pieces of information that may be useful to you in the future: (1) Inheritance sounds fine for the kind of modifications you describe. In the Gambas source code, another pattern that occurs, in my experience, more often is encapsulation instead of inheritance. When you want to modify an already existing control X (modify, extend or even constrain aspects of its behavior instead of just adding new methods to it), it is more common to write a class Y which Inherits UserControl and creates an instance of X *on itself*. This way, you can build a completely new interface around the X object. See the SpinBox or _TreeView classes in gb.gui.base for one of many examples. (2) The greatest thing ever in Gambas is making new "compound controls", i.e. widgets composed of already existing controls (labels, buttons, textareas) which are functioning as one unit. Turning them into a new control class lets you drop many instances of the same GUI logic into your forms easily, or create new instances at runtime. What is so great about this is that you can design these compounds in the IDE form designer, giving you a FZ.form and FZ.class, which you can then wrap under a neat and tidy API in Z.class using the encapsulation (1). This works because you can embed a Form in another container (which in turn lives on some other Form) like any other control. Notable examples include the DataBrowser in gb.db.form or the FileProperties widget in gb.form. Best, Tobias -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk From bsteers4 at gmail.com Wed Feb 17 17:14:20 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 16:14:20 +0000 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: References: <20210217135634.GD662095@T580.localdomain> Message-ID: On Wed, 17 Feb 2021 at 15:09, Fabien Bodard wrote: > Hi Bruce > > Welcome, to the next level of Gambas users :-D. > > Here you will discover the true power of Gambas Object inheritance > and designing :-P > > So i am seeing. It's almost exciting (some happiness almost broke my miserable old git image ;) ) Soon I will be realizing I can more easily import and tweak components myself instead of trying to tweak Benoits all the time with my "could be better" code ;) lol Currently i keep realizing this "after" asking or trying. ? Live and learn eh :) I'll get there :) Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 17 18:22:39 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 17:22:39 +0000 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: <20210217160620.GE662095@T580.localdomain> References: <20210217135634.GD662095@T580.localdomain> <20210217160620.GE662095@T580.localdomain> Message-ID: On Wed, 17 Feb 2021 at 16:07, Tobias Boege wrote: > On Wed, 17 Feb 2021, Bruce Steers wrote: > > On Wed, 17 Feb 2021 at 13:57, Tobias Boege wrote: > > > > > On Wed, 17 Feb 2021, Bruce Steers wrote: > > > > -------------------------- > > > > ' Gambas class file > > > > > > > > Export > > > > Inherits Button > > > > > > > > Public Const _Properties As String = "*,Delay=200" > > > > Public Const _Similar As String = "Button" > > > > > > > > '' Get or set Time between flash on/off in ms , default 500 > > > > Property Delay As Integer > > > > Private $Delay As Integer > > > > '' Get or set default Time between flash on/off in ms , default 500 > > > > Static Public Default_Delay As Integer = 500 > > > > i have just recently discovered the power of using Inherit on controls > in a > > class and getting into customizing them. > > Loving it, so far all i have is a flashy colour button and a GridView > that > > has built in Sort and MoveRowUp and MoverowDown functions but feeling a > new > > area of an awesomely handy library of custom controls ready for import > into > > my projects in the making.. > > :) > > In addition to what Fabien said, let me give you two pieces of information > that may be useful to you in the future: > > (1) Inheritance sounds fine for the kind of modifications you describe. > In the Gambas source code, another pattern that occurs, in my experience, > more often is encapsulation instead of inheritance. When you want to > modify an already existing control X (modify, extend or even constrain > aspects of its behavior instead of just adding new methods to it), it is > more common to write a class Y which Inherits UserControl and creates an > instance of X *on itself*. This way, you can build a completely new > interface around the X object. See the SpinBox or _TreeView classes in > gb.gui.base for one of many examples. > Good info , cheers :) I am able to do more than just add new methods with Inheritance, I find it pretty manageable so far Using Super and Raise. I found i could snatch any event with its _Raise name like.. Public Sub _RaiseClick() ' grab the event in the custom class ' do my bits Raise Click ' raise the event on the parent class End that was quite the revelation for me And some methods were equally simple to intercept using Super Public Sub Run(sArgs As String[]) ' do my bits Super.Run(sArgs) ' run the inherited classes method End I think i'm a way off building new controls from scratch, for starters I just can't think of anything i need (and i have tried) beyond slight mods to existing controls, (2) The greatest thing ever in Gambas is making new "compound controls", > i.e. widgets composed of already existing controls (labels, buttons, > textareas) which are functioning as one unit. Turning them into a new > control class lets you drop many instances of the same GUI logic into > your forms easily, or create new instances at runtime. What is so great > about this is that you can design these compounds in the IDE form designer, > giving you a FZ.form and FZ.class, which you can then wrap under a neat > and tidy API in Z.class using the encapsulation (1). This works because > you can embed a Form in another container (which in turn lives on some > other Form) like any other control. Notable examples include the > DataBrowser > in gb.db.form or the FileProperties widget in gb.form. ahh yes i think used a similar thing when i modified the Message.class Have just been browsing around the FileProperties code. lots to take in. Thank you for the info, much appreciated :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Feb 17 18:27:46 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 17 Feb 2021 18:27:46 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project Message-ID: Hi, I saw the thread about plugin management system, but didn't actually read it in detail. So I decided to start a new thread about that, and concerned people will tell me if it helps them, if they already did that way, and so on... Regards, ------------------------------------------------------------------------ (0) HOW TO CREATE A PLUGIN SYSTEM IN GAMBAS ? First, there is (almost) no technical difference between a project executable and an executable library. So let's suppose our main project is named "MainProject", and that we want to develop a plugin for that main project, from another project named "MyPlugin". ------------------------------------------------------------------------ (1) LOADING THE PLUGIN FROM THE MAIN PROJECT You must know the absolute path of the executable of the plugin, and you load it by doing: Component.Load(PluginAbsolutePath) So your plugin becames a component for the project. The name of that component is the name of the plugin executable file without the extension. So, in our case, "MyPlugin". *Note: you cannot unload a component, this is not supported by Gambas at the moment.* ------------------------------------------------------------------------ (2) TO KNOW IF THE PLUGIN IS ALREADY LOADED Just do that: If Component.IsLoaded("MyPlugin") Then ... ------------------------------------------------------------------------ (3) COMMUNICATION BETWEEN THE MAIN PROJECT AND THE PLUGIN AT RUNTIME This must be done by using exported classes. The plugin can call any class exported by the main project. The main project can call any class exported by the plugin project. Why? Because there is one symbol table per project, that is private except for exported classes, and one global symbol table for all exported classes of all projects. This is the way for components (native components, components written in Gambas, libraries, any executable) to share things (i.e. classes). *NOTE: Any piece of code can call any public method of any class as soon as it as a reference on an object of that class, so exported class is not the only way of share things between projects. But using exported classes make things explicit and clear.* That means that you must be careful with the name of your exported classes (no namespace, only one global symbol table!). Usually, you will define a common public interface for all your plugins. One exported class may be enough for that. As said before, the name of that exported class must be unique, so you should put inside the name of the plugin. For example, you can decide that all plugins must export a class named "MainProjectPlugin_" or something better than that. Then you will have a public function in that class ("Main"?) that will be called by the main project to initialize the plugin. ------------------------------------------------------------------------ (4) HOW TO GET THE EXPORTED CLASSES OF THE MAIN PROJECT DURING PLUGIN DEVELOPMENT To let the IDE know which exported classes your project can use, you must go the "Libraries" tab of the plugin project property dialog. Then you can add to the "Additional references" list the path of your main project executable. Each exported classes of each executable in that list will be available to your project (with automatic completion) without raising "unknown identifier" errors. -- Beno?t Minisini From g4mba5 at gmail.com Wed Feb 17 18:29:04 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 17 Feb 2021 18:29:04 +0100 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: References: <20210217135634.GD662095@T580.localdomain> <20210217160620.GE662095@T580.localdomain> Message-ID: <8bbfd3a2-e472-2e60-396e-0a283cac4cf6@gmail.com> Le 17/02/2021 ? 18:22, Bruce Steers a ?crit?: > > Good info , cheers :) > I am able to do more than just add new methods with Inheritance, I find > it pretty manageable so far Using Super and Raise. > I found i could snatch any event with its _Raise name like.. > You must look at the Observer class too, it may be useful. -- Beno?t Minisini From t.lee.davidson at gmail.com Wed Feb 17 19:52:06 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 17 Feb 2021 13:52:06 -0500 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> References: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> Message-ID: <0ae2a928-a697-67f5-5da1-fc31033a74b4@gmail.com> On 2/16/21 2:21 PM, Christof Thalhofer wrote: > What would be a reason for that? I used an uuid to later be able to > distinguish between versions. Maybe we'd had to pack in another way in > the future ... but have the old versions in the archive of the > mailinglist and i wanted to be able to unpack them. The reason for that would be to help prevent the AI from eventually recognizing the format. But, with this: >> " It is randomized, and a version number can be preserved in the prefix. I also like the one-finger salute to GMailFilter. Very nice indeed. -- Lee From ocoquet at 3d-phenomen.fr Wed Feb 17 19:53:18 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Wed, 17 Feb 2021 19:53:18 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: Hello Benoit and the others, First of all thank you for your interest in the plugin system, I wouldn't have imagined that it could interest anyone else than me :) For the points you mention: 0) It seems to me that a guide-line would be appropriate for plugins to be easily recognized. 1) I don't agree with absolutepath, I prefer by far my system that loads plugins in the components directory. This way their installation is simple (installation package) and this directory is kept up to date in the gambas system without uncertain manipulation. 3) The I disagree with you, what you describe is a component, by nature a plugin acts on the main program but it is unknown to it. Said in another way, the main program cannot/must not access the functions and procedures of the plugin except for the initialization procedure which must be identical in all plugins. PS: For someone who hasn't read the current thread, did the name main() suddenly appear to you? :) 4) same as for #4, no need to have the list of exported classes, the main program doesn't need to know them. To sum up, this is what I expect from a plugin and what I realized in the recently posted example: A plugin must not disrupt the operation of a stable main program. A plugin must be able to "hijack" some of the functions of the main program. A plugin should be able to change the appearance of the windows of the main program in order to improve them or to add functions to them. Last but not least: The main program must be able to work correctly if the plugin is absent and this without specific detection code (which argues in favour of my remark on point n? 3). In my mind, a plugin is an additional, different or improved function added to the main program after the main program has been designed. These additional functions and improvements could not be foreseen at the time of the creation of the main program. If you want a concrete example, I advise you to take a look at the example I posted here which illustrates 100% what I'm talking about. friendship Olivier C. Translated with www.DeepL.com/Translator (free version) Le 17/02/2021 ? 18:27, Beno?t Minisini a ?crit?: > Hi, > > I saw the thread about plugin management system, but didn't actually > read it in detail. > > So I decided to start a new thread about that, and concerned people will > tell me if it helps them, if they already did that way, and so on... > > Regards, > > ------------------------------------------------------------------------ > > (0) HOW TO CREATE A PLUGIN SYSTEM IN GAMBAS ? > > First, there is (almost) no technical difference between a project > executable and an executable library. > > So let's suppose our main project is named "MainProject", and that we > want to develop a plugin for that main project, from another project > named "MyPlugin". > > ------------------------------------------------------------------------ > > (1) LOADING THE PLUGIN FROM THE MAIN PROJECT > > You must know the absolute path of the executable of the plugin, and you > load it by doing: > > ? Component.Load(PluginAbsolutePath) > > So your plugin becames a component for the project. The name of that > component is the name of the plugin executable file without the > extension. So, in our case, "MyPlugin". > > *Note: you cannot unload a component, this is not supported by Gambas > at the moment.* > > ------------------------------------------------------------------------ > > (2) TO KNOW IF THE PLUGIN IS ALREADY LOADED > > Just do that: > > ? If Component.IsLoaded("MyPlugin") Then ... > > ------------------------------------------------------------------------ > > (3) COMMUNICATION BETWEEN THE MAIN PROJECT AND THE PLUGIN AT RUNTIME > > This must be done by using exported classes. > > The plugin can call any class exported by the main project. > > The main project can call any class exported by the plugin project. > > Why? Because there is one symbol table per project, that is private > except for exported classes, and one global symbol table for all > exported classes of all projects. > > This is the way for components (native components, components written in > Gambas, libraries, any executable) to share things (i.e. classes). > > *NOTE: Any piece of code can call any public method of any class as soon > as it as a reference on an object of that class, so exported class is > not the only way of share things between projects. But using exported > classes make things explicit and clear.* > > That means that you must be careful with the name of your exported > classes (no namespace, only one global symbol table!). > > Usually, you will define a common public interface for all your plugins. > > One exported class may be enough for that. As said before, the name of > that exported class must be unique, so you should put inside the name of > the plugin. > > For example, you can decide that all plugins must export a class named > "MainProjectPlugin_" or something better than that. > Then you will have a public function in that class ("Main"?) that will > be called by the main project to initialize the plugin. > > ------------------------------------------------------------------------ > > (4) HOW TO GET THE EXPORTED CLASSES OF THE MAIN PROJECT DURING PLUGIN > DEVELOPMENT > > To let the IDE know which exported classes your project can use, you > must go the "Libraries" tab of the plugin project property dialog. > > Then you can add to the "Additional references" list the path of your > main project executable. > > Each exported classes of each executable in that list will be available > to your project (with automatic completion) without raising "unknown > identifier" errors. > From bsteers4 at gmail.com Wed Feb 17 20:33:38 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 19:33:38 +0000 Subject: [Gambas-user] Inherit Button, looks bad in the IDE? In-Reply-To: <8bbfd3a2-e472-2e60-396e-0a283cac4cf6@gmail.com> References: <20210217135634.GD662095@T580.localdomain> <20210217160620.GE662095@T580.localdomain> <8bbfd3a2-e472-2e60-396e-0a283cac4cf6@gmail.com> Message-ID: On Wed, 17 Feb 2021 at 17:30, Beno?t Minisini wrote: > Le 17/02/2021 ? 18:22, Bruce Steers a ?crit : > > > > Good info , cheers :) > > I am able to do more than just add new methods with Inheritance, I find > > it pretty manageable so far Using Super and Raise. > > I found i could snatch any event with its _Raise name like.. > > > > You must look at the Observer class too, it may be useful. > > Thank you Ben Yes i'm hitting roadblocks trying to inherit events with qt4 objects like TextBox now. Gridview was easy , i guess being a component in comp/ gets easier access than gb.qt4 controls? i will experiment will all the methods and see how i do. Thanks again :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Feb 17 20:53:40 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Wed, 17 Feb 2021 22:53:40 +0300 Subject: [Gambas-user] =?utf-8?q?Sub_and_Function_hijack_=3F=3F_is_this_p?= =?utf-8?q?ossible_=3F?= In-Reply-To: References: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <1613591620.845951609@f40.my.com> See the comments by Ben. I agree that plugins are just components or libraries. I see no difference. I suspect that each application would have a different need in respect to the plugin. So not sure just how a single framework would work. It would seem that understanding how it works clearly is enough for other users. I agree with Ben that the plugins for an application should be in something like /user/share/myapp/plugins/ This is so the app is not dependent on the gambas structure. It's bad form for an app to be put into the gambas directory and not very portable. So having the absolute path to the apps plugin? collection and then from there doing dir() to see what to load. -- My thoughts Brian Wednesday, 17 February 2021, 07:55AM -08:00 from olivier coquet ocoquet at 3d-phenomen.fr : >Hi Brian, thanks a lot for tests and > observations.... > >It took me some time to understand what > you were telling me with _new(). >I had thought of doing it the way it was originally but it has a > major drawback: >The _new() procedure runs as soon as I instantiate out I wanted to > be able to activate the plugin or not depending on certain states > of my main program. So my solution allows to trigger the plugin > start at the appropriate time. >For the rest (the dir....) totally agreed with you, I hadn't > thought about it. >Remain to know, do you think it would be useful to create a gambas > add-on for this kind of plugin management ???? > >friendship >Olivier C. > >PS: for French language, deepl is our friend :) > > >Le 17/02/2021 ? 14:03, Brian G a > ?crit?: >>Yes I have tried, Cool way to add plugins. >> >>It took me a while to figure out the right way to name the >> component..? >>? project name had to be 'myPlugin.plg' or some >> derivative... >>? I kept making it MaPlg1 , which it found but crashed >> because it was also the component name .. lol >> >>I have attached a text file, as I look at your program. >> >>Suggest to use _new instead of running through all the >> plugins. >>_new is executed upon instantiation of an object. See text >> file. >> >>and add??Dir(Component.path, "*"&plgid&"*") filter >> to dir? so you don't check every file. >> >>lol .. my french is very rusty.. have not really used it >> since high school in Canada! >> >>I worked in Quebec for a while.. but still..? >> >>Your example Works just fine! >> >> >>So Yes I tried you program ;) >> >>Brian G > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Feb 17 20:55:25 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Wed, 17 Feb 2021 22:55:25 +0300 Subject: [Gambas-user] =?utf-8?q?Gmail_Attachment_Pipe?= In-Reply-To: <0ae2a928-a697-67f5-5da1-fc31033a74b4@gmail.com> References: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> <0ae2a928-a697-67f5-5da1-fc31033a74b4@gmail.com> Message-ID: <1613591725.308793516@f27.my.com> I just wonder if the bad guys are doing the same thing? -- Thanks Brian Wednesday, 17 February 2021, 10:53AM -08:00 from T Lee Davidson t.lee.davidson at gmail.com : >On 2/16/21 2:21 PM, Christof Thalhofer wrote: > What would be a reason for that? I used an uuid to later be able to > distinguish between versions. Maybe we'd had to pack in another way in > the future ... but have the old versions in the archive of the > mailinglist and i wanted to be able to unpack them. > >The reason for that would be to help prevent the AI from eventually recognizing the format. But, with this: > >> " > >It is randomized, and a version number can be preserved in the prefix. I also like the one-finger salute to GMailFilter. Very >nice indeed. > > >-- >Lee > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Wed Feb 17 21:18:15 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Wed, 17 Feb 2021 21:18:15 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <1613591620.845951609@f40.my.com> References: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> <1613591620.845951609@f40.my.com> Message-ID: <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> Hi Brian, thanks for your suggestions, For me a plugin is developed later than program, Program can't know what plugin will make. For the folder, I think than the component folder is always known by Gambas and a program which run on every version of gambas can always find this folder. An absolute path to application can change with user configuration. More, using the component folder permit to create installation package with gambas ide as component, we are sure all work perfectly. regards Olivier C. Le 17/02/2021 ? 20:53, Brian G a ?crit?: > > See the comments by Ben. I agree that plugins are just components or > libraries. > > I see no difference. I suspect that each application would have a > different need in respect to the plugin. So not sure just how a single > framework would work. > > It would seem that understanding how it works clearly is enough for > other users. > > I agree with Ben that the plugins for an application should be in > something like /user/share/myapp/plugins/ > This is so the app is not dependent on the gambas structure. It's bad > form for an app to be put into the gambas directory and not very portable. > > So having the absolute path to the apps plugin collection and then > from there doing dir() to see what to load. > > -- > My thoughts > Brian > > Wednesday, 17 February 2021, 07:55AM -08:00 from olivier coquet > ocoquet at 3d-phenomen.fr : > > Hi Brian, thanks a lot for tests and observations.... > > It took me some time to understand what you were telling me with > _new(). > I had thought of doing it the way it was originally but it has a > major drawback: > The _new() procedure runs as soon as I instantiate out I wanted to > be able to activate the plugin or not depending on certain states > of my main program. So my solution allows to trigger the plugin > start at the appropriate time. > For the rest (the dir....) totally agreed with you, I hadn't > thought about it. > Remain to know, do you think it would be useful to create a gambas > add-on for this kind of plugin management ???? > > friendship > Olivier C. > > PS: for French language, deepl is our friend :) > > > Le 17/02/2021 ? 14:03, Brian G a ?crit?: >> Yes I have tried, Cool way to add plugins. >> >> It took me a while to figure out the right way to name the >> component.. >> ? project name had to be 'myPlugin.plg' or some derivative... >> ? I kept making it MaPlg1 , which it found but crashed because it >> was also the component name .. lol >> >> I have attached a text file, as I look at your program. >> >> Suggest to use _new instead of running through all the plugins. >> _new is executed upon instantiation of an object. See text file. >> >> and add??Dir(Component.path, "*"&plgid&"*") filter to dir? so you >> don't check every file. >> >> lol .. my french is very rusty.. have not really used it since >> high school in Canada! >> >> I worked in Quebec for a while.. but still.. >> >> Your example Works just fine! >> >> >> So Yes I tried you program ;) >> >> Brian G > > > ----[ http://gambaswiki.org/wiki/doc/netiquette > ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Wed Feb 17 21:25:34 2021 From: tercoide at hotmail.com (martin cristia) Date: Wed, 17 Feb 2021 17:25:34 -0300 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: Why do we need pluggins? in the GauchoCAD project we considered the use of them as a way to make a "pro" version of it and sell them. But we dumped the idea as there are many examples of that kind of software that prove no use (QCAD comes to mind). The nature of a Gambas made soft is FOSS, since we need to meet Qt's GPL3 licensing. So a plugin for a stable program is more the next version of it than an "add on". From t.lee.davidson at gmail.com Wed Feb 17 21:52:51 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 17 Feb 2021 15:52:51 -0500 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> References: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> <1613591620.845951609@f40.my.com> <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> Message-ID: <0ba08ac7-b9dc-7f2d-77d6-96b578b1867c@gmail.com> On 2/17/21 3:18 PM, olivier coquet wrote: > For me a plugin is developed later than program, Program can't know what plugin will make. I haven't been reading all the messages in this thread. But, I wonder if it might be helpful for you to consider how Wordpress handles plugins. Very simply, when a new plugin is installed, it is allowed to run its installation routine. During this process, the plugin registers certain event 'hooks' into the database. Then, when a hooked event occurs, the main program knows to call the appropriate routine from the plugin. It has been a while since I have been under the Wordpress hood, but from what I recall, a handle on the database connection is passed to the called plugin routine so it can get the data it needs to complete its function. -- Lee From t.lee.davidson at gmail.com Wed Feb 17 22:04:51 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 17 Feb 2021 16:04:51 -0500 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> On 2/17/21 3:25 PM, martin cristia wrote: > Why do we need pluggins? in the GauchoCAD project we considered the use of them as a way to make a "pro" version of it and sell > them. But we dumped the idea as there are many examples of that kind of software that prove no use (QCAD comes to mind). The > nature of a Gambas made soft is FOSS, since we need to meet Qt's GPL3 licensing. So a plugin for a stable program is more the > next version of it than an "add on". Perhaps for free vs. paid versions of an app, it doesn't make sense. But, a plugin infrastructure provides for modularity and end-user customization. An end-user may not want all the functionality bundled in the main app. Home Automation applications is one example. Different devices may need different supporting plugins, and not everyone would have all available devices. A plugin infrastructure also allows for third party development without coders having to join the main project or lobby to get their unique home-grown device plugin accepted. -- Lee From jussi.lahtinen at gmail.com Wed Feb 17 22:17:37 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 17 Feb 2021 23:17:37 +0200 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <1613591725.308793516@f27.my.com> References: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> <0ae2a928-a697-67f5-5da1-fc31033a74b4@gmail.com> <1613591725.308793516@f27.my.com> Message-ID: > I just wonder if the bad guys are doing the same thing? > I think they just try to block malware. Thus they offer sending the "suspicious" files as google drive links. That way they can attach content warning for the receiving end. I would guess they assume that if you are savvy enough to use the receiving end of the pipe to circumvent the filters, then you are savvy enough to not run a malware. I see no reason why they would specifically want to block Gambas projects. It is just coincidence that the AI thinks it is suspicious. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Wed Feb 17 22:21:23 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 17 Feb 2021 23:21:23 +0200 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: References: <2f3087b9-7d6c-1e1c-8045-7a16d8aa8d46@deganius.de> <0ae2a928-a697-67f5-5da1-fc31033a74b4@gmail.com> <1613591725.308793516@f27.my.com> Message-ID: > > I just wonder if the bad guys are doing the same thing? >> > I think they just try to block malware. Thus they offer sending the > "suspicious" files as google drive links. That way they can attach content > warning for the receiving end. > I would guess they assume that if you are savvy enough to use the > receiving end of the pipe to circumvent the filters, then you are savvy > enough to not run a malware. > I see no reason why they would specifically want to block Gambas projects. > It is just coincidence that the AI thinks it is suspicious. > Um... the point was, why would "bad" guys use this? How would they benefit? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Feb 17 22:39:44 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 21:39:44 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> Message-ID: On Tue, 16 Feb 2021 at 19:43, Beno?t Minisini wrote: > Le 15/02/2021 ? 17:29, Bruce Steers a ?crit : > > > > > > On Sun, 14 Feb 2021 at 21:02, Bruce Steers > > wrote: > > > > Hi. > > I'm trying to use the "Run command after" option when making an exe > > to auto-alter some version texts in various files > > i made a gbs script file that i can place in the source folder and > > it does the version change okay but i can't launch it. > > > > [...] > > I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your > tooltip text, and replaced it by an explicit help label. > > 2 things..... 1. Could we remove the quotes from $(DIR) ? It would make it easier to use paths like '$(DIR)/filename' 2. also what's the chances of the TextBox becoming a TextArea for a little more advanced scripting? thirdly (sorry 3 things) possibly a checkbox to disable any text output in the console? currently even if my command has no output the console still prints the command line. (it overides warnings tab) Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Wed Feb 17 22:59:33 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 17 Feb 2021 22:59:33 +0100 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> Message-ID: <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> Le 17/02/2021 ? 22:39, Bruce Steers a ?crit?: > > > On Tue, 16 Feb 2021 at 19:43, Beno?t Minisini > wrote: > > Le 15/02/2021 ? 17:29, Bruce Steers a ?crit?: > > > > > > On Sun, 14 Feb 2021 at 21:02, Bruce Steers > > >> wrote: > > > >? ? ?Hi. > >? ? ?I'm trying to use the "Run command after" option when making > an exe > >? ? ?to auto-alter some version texts in various files > >? ? ?i made a gbs script file that i can place in the source > folder and > >? ? ?it does the version change okay but i can't launch it. > > > ?> [...] > > I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your > tooltip text, and replaced it by an explicit help label. > > > 2 things..... > > 1. Could we remove the quotes from $(DIR)? ? > It would make it easier to use paths like '$(DIR)/filename' Just write $(DIR)'/filename', it should work. > > 2. also what's the chances of the TextBox becoming a TextArea for a > little more advanced scripting? It should not be a problem. But this feature was intented for very simple things. > > thirdly (sorry 3 things) > possibly a checkbox to disable any text output in the console? > currently even if my command has no output the console still prints the > command line. (it overides warnings tab) Why? You must want to see the output of your command, to check that it was run and that there were no problem. -- Beno?t Minisini From bsteers4 at gmail.com Thu Feb 18 00:27:09 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 Feb 2021 23:27:09 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> Message-ID: On Wed, 17 Feb 2021, 22:00 Beno?t Minisini, wrote: > Le 17/02/2021 ? 22:39, Bruce Steers a ?crit : > > > > > > On Tue, 16 Feb 2021 at 19:43, Beno?t Minisini > > wrote: > > > > Le 15/02/2021 ? 17:29, Bruce Steers a ?crit : > > > > > > > > > On Sun, 14 Feb 2021 at 21:02, Bruce Steers > > > > >> wrote: > > > > > > Hi. > > > I'm trying to use the "Run command after" option when making > > an exe > > > to auto-alter some version texts in various files > > > i made a gbs script file that i can place in the source > > folder and > > > it does the version change okay but i can't launch it. > > > > > > [...] > > > > I have replaced the '$(FOLDER)' substitution by '$(DIR)', fixed your > > tooltip text, and replaced it by an explicit help label. > > > > > > 2 things..... > > > > 1. Could we remove the quotes from $(DIR) ? > > It would make it easier to use paths like '$(DIR)/filename' > > Just write $(DIR)'/filename', it should work. > Aah cool , cheers ? > > 2. also what's the chances of the TextBox becoming a TextArea for a > > little more advanced scripting? > > It should not be a problem. But this feature was intented for very > simple things. Okay understand I could use ; to multiline. I hit a snag in fedora last night where my command made on mint would have worked fine if it accounted for /media or /run/media. I ended up symlinking the dirs on fedora. That's when I thought a little more scope in the command box will be handy. Okay if you feel it's not needed. > thirdly (sorry 3 things) > > possibly a checkbox to disable any text output in the console? > > currently even if my command has no output the console still prints the > > command line. (it overides warnings tab) > > Why? You must want to see the output of your command, to check that it > was run and that there were no problem. > Well I did at first but now the command is running fine I tried to disable the output as do not need it now. But the console tab is all i see now. Even if warnings the console always shows. Or maybe let warning tab take priority over console message when making exe? Or if you stopped the console echoing the the command and just print the output then I could control if I got output or not with >/dev/null All the best ? BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Thu Feb 18 07:19:51 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Thu, 18 Feb 2021 09:19:51 +0300 Subject: [Gambas-user] =?utf-8?q?Gmail_Attachment_Pipe?= In-Reply-To: References: Message-ID: <1613629191.207173181@f32.my.com> I mean just figuring out how to bypass the filters -- Thanks Brian Wednesday, 17 February 2021, 01:21PM -08:00 from Jussi Lahtinen jussi.lahtinen at gmail.com : >>>I just wonder if the bad guys are doing the same thing? >>I think they just try to block malware. Thus they offer sending the "suspicious" files as google drive links. That way they can attach content warning for the receiving end. >>I would guess they assume that if you are savvy enough to use the receiving end of the pipe to circumvent the filters, then you are savvy enough to not run a malware. >>I see no reason why they would specifically want to block Gambas projects. It is just coincidence that the AI thinks it is suspicious. > >Um... the point was, why would "bad" guys use this? How would they benefit? > > >Jussi >? -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Thu Feb 18 07:23:52 2021 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Thu, 18 Feb 2021 09:23:52 +0300 Subject: [Gambas-user] =?utf-8?q?Sub_and_Function_hijack_=3F=3F_is_this_p?= =?utf-8?q?ossible_=3F?= In-Reply-To: <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> References: <1613591620.845951609@f40.my.com> <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> Message-ID: <1613629432.760551995@f40.my.com> I was thinking the programs install would create the plugin folder... And plugins would install them selves there.. after all the program must load them.. Oh well what do I know. -- Thanks Brian Wednesday, 17 February 2021, 01:35PM -08:00 from olivier coquet ocoquet at 3d-phenomen.fr : >Hi Brian, thanks for your suggestions, > >For me a plugin is developed later than > program, Program can't know what plugin will make. >For the folder, I think than the > component folder is always known by Gambas and a program which run > on every version of gambas can always find this folder. An > absolute path to application can change with user configuration. >More, using the component folder permit > to create installation package with gambas ide as component, we > are sure all work perfectly. > >regards >Olivier C. > >Le 17/02/2021 ? 20:53, Brian G a > ?crit?: >>See the comments by Ben. I >> agree that plugins are just components or libraries. >>I see no difference. I suspect that each application >> would have a different need in respect to the plugin. So not >> sure just how a single framework would work. >>It would seem that understanding how it works clearly >> is enough for other users. >>I agree with Ben that the plugins for an application >> should be in something like /user/share/myapp/plugins/ >>This is so the app is not dependent on the gambas structure. >> It's bad form for an app to be put into the gambas directory and >> not very portable. > >>So having the absolute path to the apps plugin? >> collection and then from there doing dir() to see what to load. >>-- >>My thoughts >>Brian Wednesday, 17 February 2021, 07:55AM -08:00 from olivier coquet ocoquet at 3d-phenomen.fr : >> >>>Hi Brian, >>> thanks a lot for tests and observations.... >>> >>>It took me some >>> time to understand what you were telling me with >>> _new(). >>>I had thought of doing it the way it was originally >>> but it has a major drawback: >>>The _new() procedure runs as soon as I instantiate out >>> I wanted to be able to activate the plugin or not >>> depending on certain states of my main program. So my >>> solution allows to trigger the plugin start at the >>> appropriate time. >>>For the rest (the dir....) totally agreed with you, I >>> hadn't thought about it. >>>Remain to know, do you think it would be useful to >>> create a gambas add-on for this kind of plugin >>> management ???? >>> >>>friendship >>>Olivier C. >>> >>>PS: for French language, deepl is our friend :) >>> >>> >>>Le 17/02/2021 ? >>> 14:03, Brian G a ?crit?: >>>>Yes I have tried, Cool way to add plugins. >>>> >>>>It took me a while to figure out the right >>>> way to name the component..? >>>>? project name had to be 'myPlugin.plg' or >>>> some derivative... >>>>? I kept making it MaPlg1 , which it found >>>> but crashed because it was also the component >>>> name .. lol >>>> >>>>I have attached a text file, as I look at >>>> your program. >>>> >>>>Suggest to use _new instead of running >>>> through all the plugins. >>>>_new is executed upon instantiation of an >>>> object. See text file. >>>> >>>>and add??Dir(Component.path, >>>> "*"&plgid&"*") filter to dir? so you >>>> don't check every file. >>>> >>>>lol .. my french is very rusty.. have not >>>> really used it since high school in Canada! >>>> >>>>I worked in Quebec for a while.. but still..? >>>> >>>>Your example Works just fine! >>>> >>>> >>>>So Yes I tried you program ;) >>>> >>>>Brian G >>> >>>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> >>----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rwe-sse at osnanet.de Thu Feb 18 11:49:31 2021 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 18 Feb 2021 11:49:31 +0100 Subject: [Gambas-user] DateChooser.Value = one day less Message-ID: Just used a DateChooser and had it pop up when a button is pressed. So far so good. The gray marker is on February 18, that's correct. When the user clicks on a date, a message.info pops up and shows the string DateChooser.Value (I did that for debugging purposes only). Here it seems, there is one day less than chosen, i. e. when I click Feb 10, the result is "09/02/2021 23:00:00". The gray marker is positioned correctly. What can I do? Regards Rolf From g4mba5 at gmail.com Thu Feb 18 12:01:51 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 12:01:51 +0100 Subject: [Gambas-user] DateChooser.Value = one day less In-Reply-To: References: Message-ID: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> Le 18/02/2021 ? 11:49, Rolf-Werner Eilert a ?crit?: > Just used a DateChooser and had it pop up when a button is pressed. So > far so good. The gray marker is on February 18, that's correct. > > When the user clicks on a date, a message.info pops up and shows the > string DateChooser.Value (I did that for debugging purposes only). > > Here it seems, there is one day less than chosen, i. e. when I click Feb > 10, the result is "09/02/2021 23:00:00". The gray marker is positioned > correctly. > > What can I do? > > Regards > Rolf > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- What do you mean by: "the result is '09/02/2021 23:00:00'"? -- Beno?t Minisini From rwe-sse at osnanet.de Thu Feb 18 12:07:45 2021 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 18 Feb 2021 12:07:45 +0100 Subject: [Gambas-user] DateChooser.Value = one day less In-Reply-To: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> References: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> Message-ID: Am 18.02.21 um 12:01 schrieb Beno?t Minisini: > Le 18/02/2021 ? 11:49, Rolf-Werner Eilert a ?crit?: >> Just used a DateChooser and had it pop up when a button is pressed. So >> far so good. The gray marker is on February 18, that's correct. >> >> When the user clicks on a date, a message.info pops up and shows the >> string DateChooser.Value (I did that for debugging purposes only). >> >> Here it seems, there is one day less than chosen, i. e. when I click >> Feb 10, the result is "09/02/2021 23:00:00". The gray marker is >> positioned correctly. >> >> What can I do? >> >> Regards >> Rolf >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > What do you mean by: "the result is '09/02/2021 23:00:00'"? > What I meant is "the string shown in the message.info" Public Sub DateChooser_Click() Message.Info(DateChooser.Value) End Sorry, messed it up. What it shows is Month/Day/Year, so the result is "02/09/2021 23:00:00" Regards Rolf From g4mba5 at gmail.com Thu Feb 18 12:11:34 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 12:11:34 +0100 Subject: [Gambas-user] DateChooser.Value = one day less In-Reply-To: References: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> Message-ID: Le 18/02/2021 ? 12:07, Rolf-Werner Eilert a ?crit?: >> >> What do you mean by: "the result is '09/02/2021 23:00:00'"? >> > > What I meant is "the string shown in the message.info" > > Public Sub DateChooser_Click() > > ? Message.Info(DateChooser.Value) Message.Info() expects a string. By giving him a date, you trigger the automatic date to string conversion, which is *not* locale-aware. So what you see is the GMT date. See http://gambaswiki.org/wiki/doc/date Regards, -- Beno?t Minisini From rwe-sse at osnanet.de Thu Feb 18 12:22:32 2021 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 18 Feb 2021 12:22:32 +0100 Subject: [Gambas-user] DateChooser.Value = one day less In-Reply-To: References: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> Message-ID: Am 18.02.21 um 12:11 schrieb Beno?t Minisini: > Le 18/02/2021 ? 12:07, Rolf-Werner Eilert a ?crit?: >>> >>> What do you mean by: "the result is '09/02/2021 23:00:00'"? >>> >> >> What I meant is "the string shown in the message.info" >> >> Public Sub DateChooser_Click() >> >> ?? Message.Info(DateChooser.Value) > > Message.Info() expects a string. By giving him a date, you trigger the > automatic date to string conversion, which is *not* locale-aware. So > what you see is the GMT date. > > See http://gambaswiki.org/wiki/doc/date > > Regards, > Ah alright. When I use Day(DateChooser.Value) or DateChooser.Day, the day is correct. Ok... Anyway, it's quarter past 12, not midnight, and I live in GMT+1. If it jumped back to 11:15... This is not logical to me, but I need another cup of coffee anyway :) Thank you for the hint Rolf From g4mba5 at gmail.com Thu Feb 18 13:06:08 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 13:06:08 +0100 Subject: [Gambas-user] DateChooser.Value = one day less In-Reply-To: References: <11b4c6c8-11af-a37f-9c15-e83c4ed70d05@gmail.com> Message-ID: Le 18/02/2021 ? 12:22, Rolf-Werner Eilert a ?crit?: > Am 18.02.21 um 12:11 schrieb Beno?t Minisini: >> Le 18/02/2021 ? 12:07, Rolf-Werner Eilert a ?crit?: >>>> >>>> What do you mean by: "the result is '09/02/2021 23:00:00'"? >>>> >>> >>> What I meant is "the string shown in the message.info" >>> >>> Public Sub DateChooser_Click() >>> >>> ?? Message.Info(DateChooser.Value) >> >> Message.Info() expects a string. By giving him a date, you trigger the >> automatic date to string conversion, which is *not* locale-aware. So >> what you see is the GMT date. >> >> See http://gambaswiki.org/wiki/doc/date >> >> Regards, >> > > Ah alright. When I use Day(DateChooser.Value) or DateChooser.Day, the > day is correct. > > Ok... Anyway, it's quarter past 12, not midnight, and I live in GMT+1. > If it jumped back to 11:15... > > This is not logical to me, but I need another cup of coffee anyway :) > > Thank you for the hint > Rolf > It **is** actually logical. :-) The problem comes from the confusion between dates and their string representation, as explained in the wiki page. -- Beno?t Minisini From g4mba5 at gmail.com Thu Feb 18 13:55:35 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 13:55:35 +0100 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> Message-ID: Le 18/02/2021 ? 00:27, Bruce Steers a ?crit?: > > Okay? understand > I could use ; to multiline. > I hit a snag in fedora last night where my command made on mint would > have worked fine if it accounted for /media or /run/media. > I ended up symlinking the dirs on fedora. > That's when I thought a little more scope in the command box will be handy. > Okay if you feel it's not needed. > > > thirdly (sorry 3 things) > > possibly a checkbox to disable any text output in the console? > > currently even if my command has no output the console still > prints the > > command line. (it overides warnings tab) > > Why? You must want to see the output of your command, to check that it > was run and that there were no problem. > > > Well I did at first but now the command is running fine I tried to > disable the output as do not need it now. But the console tab is all i > see now. Even if warnings the console always shows. > > Or maybe let warning tab take priority over console message when making exe? > > Or if you stopped the console echoing the the command and just print the > output then I could control if I got output or not with >/dev/null > > All the best ? > BruceS > You don't have to close a merge request at each change. If you modify your branch, the merge request should be automatically updated. Regards, -- Beno?t Minisini From bsteers4 at gmail.com Thu Feb 18 13:58:54 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 12:58:54 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> Message-ID: On Thu, 18 Feb 2021 at 12:56, Beno?t Minisini wrote: > Le 18/02/2021 ? 00:27, Bruce Steers a ?crit : > > > > Okay understand > > I could use ; to multiline. > > I hit a snag in fedora last night where my command made on mint would > > have worked fine if it accounted for /media or /run/media. > > I ended up symlinking the dirs on fedora. > > That's when I thought a little more scope in the command box will be > handy. > > Okay if you feel it's not needed. > > > > > thirdly (sorry 3 things) > > > possibly a checkbox to disable any text output in the console? > > > currently even if my command has no output the console still > > prints the > > > command line. (it overides warnings tab) > > > > Why? You must want to see the output of your command, to check that > it > > was run and that there were no problem. > > > > > > Well I did at first but now the command is running fine I tried to > > disable the output as do not need it now. But the console tab is all i > > see now. Even if warnings the console always shows. > > > > Or maybe let warning tab take priority over console message when making > exe? > > > > Or if you stopped the console echoing the the command and just print the > > output then I could control if I got output or not with >/dev/null > > > > All the best ? > > BruceS > > > > You don't have to close a merge request at each change. If you modify > your branch, the merge request should be automatically updated. > > Regards, > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 18 14:06:41 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 13:06:41 +0000 Subject: [Gambas-user] Run command after making exe (options) In-Reply-To: References: <3686e2f8-959e-d61d-5f5a-8b049f8e0929@gmail.com> <7f7723f1-d2e9-29bb-2590-b1bc74d1938e@gmail.com> Message-ID: On Thu, 18 Feb 2021 at 12:56, Beno?t Minisini wrote: > Le 18/02/2021 ? 00:27, Bruce Steers a ?crit : > > > > Okay understand > > I could use ; to multiline. > > I hit a snag in fedora last night where my command made on mint would > > have worked fine if it accounted for /media or /run/media. > > I ended up symlinking the dirs on fedora. > > That's when I thought a little more scope in the command box will be > handy. > > Okay if you feel it's not needed. > > > > > thirdly (sorry 3 things) > > > possibly a checkbox to disable any text output in the console? > > > currently even if my command has no output the console still > > prints the > > > command line. (it overides warnings tab) > > > > Why? You must want to see the output of your command, to check that > it > > was run and that there were no problem. > > > > > > Well I did at first but now the command is running fine I tried to > > disable the output as do not need it now. But the console tab is all i > > see now. Even if warnings the console always shows. > > > > Or maybe let warning tab take priority over console message when making > exe? > > > > Or if you stopped the console echoing the the command and just print the > > output then I could control if I got output or not with >/dev/null > > > > All the best ? > > BruceS > > > > You don't have to close a merge request at each change. If you modify > your branch, the merge request should be automatically updated. > > aah thank you Ben , yes after reading your thoughts on it i figured the change was probably not such a great idea and probably better to just leave it as is. So was less about "Change" and more about "scrap that idea then" the only change that was not the milti-line handling was fixing $(VERSION) and that merge request is still up there. Wishing well :) BrucS -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Thu Feb 18 14:36:39 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Thu, 18 Feb 2021 14:36:39 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: <6b092886-45f9-5b61-9360-4b06a6089d6a@3d-phenomen.fr> Hi martin, Don't forget that it is quite possible with gambas, to write embedded software in objects or tools that sell themselves. Moreover, the GPL does not prohibit the sale of products made with GPL tools (or maybe I misunderstood something). Friendship Olivier Coquet Le 17/02/2021 ? 21:25, martin cristia a ?crit?: > Why do we need pluggins? in the GauchoCAD project we considered the > use of them as a way to make a "pro" version of it and sell them. But > we dumped the idea as there are many examples of that kind of software > that prove no use (QCAD comes to mind). The nature of a Gambas made > soft is FOSS, since we need to meet Qt's GPL3 licensing. So a plugin > for a stable program is more the next version of it than an "add on". > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From ocoquet at 3d-phenomen.fr Thu Feb 18 14:37:52 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Thu, 18 Feb 2021 14:37:52 +0100 Subject: [Gambas-user] Sub and Function hijack ?? is this possible ? In-Reply-To: <0ba08ac7-b9dc-7f2d-77d6-96b578b1867c@gmail.com> References: <46353343.8364.1613567015788.JavaMail.zimbra@westwoodsvcs.com> <1613591620.845951609@f40.my.com> <58cfb3b4-d5cd-b6eb-06ff-713c2d6233f6@3d-phenomen.fr> <0ba08ac7-b9dc-7f2d-77d6-96b578b1867c@gmail.com> Message-ID: <1d750dc7-4ba3-2893-0c94-57558e53a01d@3d-phenomen.fr> Hello Lee, and thank you for these very interesting remarks. Friendship Olivier Coquet Le 17/02/2021 ? 21:52, T Lee Davidson a ?crit?: > On 2/17/21 3:18 PM, olivier coquet wrote: >> For me a plugin is developed later than program, Program can't know >> what plugin will make. > > I haven't been reading all the messages in this thread. But, I wonder > if it might be helpful for you to consider how Wordpress handles plugins. > > Very simply, when a new plugin is installed, it is allowed to run its > installation routine. During this process, the plugin registers > certain event 'hooks' into the database. Then, when a hooked event > occurs, the main program knows to call the appropriate routine from > the plugin. It has been a while since I have been under the Wordpress > hood, but from what I recall, a handle on the database connection is > passed to the called plugin routine so it can get the data it needs to > complete its function. > > From ocoquet at 3d-phenomen.fr Thu Feb 18 14:40:47 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Thu, 18 Feb 2021 14:40:47 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> Message-ID: <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Hello lee, What you say reflects exactly what I think, adding possible features without imposing them on all users. It's true that we're approaching a somewhat commercial approach that doesn't seem to be appropriate here :) Friendship Olivier Coquet Le 17/02/2021 ? 22:04, T Lee Davidson a ?crit?: > On 2/17/21 3:25 PM, martin cristia wrote: >> Why do we need pluggins? in the GauchoCAD project we considered the >> use of them as a way to make a "pro" version of it and sell them. But >> we dumped the idea as there are many examples of that kind of >> software that prove no use (QCAD comes to mind). The nature of a >> Gambas made soft is FOSS, since we need to meet Qt's GPL3 licensing. >> So a plugin for a stable program is more the next version of it than >> an "add on". > > Perhaps for free vs. paid versions of an app, it doesn't make sense. > > But, a plugin infrastructure provides for modularity and end-user > customization. An end-user may not want all the functionality bundled > in the main app. Home Automation applications is one example. > Different devices may need different supporting plugins, and not > everyone would have all available devices. > > A plugin infrastructure also allows for third party development > without coders having to join the main project or lobby to get their > unique home-grown device plugin accepted. > > From ocoquet at 3d-phenomen.fr Thu Feb 18 14:44:52 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Thu, 18 Feb 2021 14:44:52 +0100 Subject: [Gambas-user] CallBack from external library Message-ID: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Hello, Would anyone know if it is possible to call a procedure or function of a gambas program from an external library ( C ). In summary: The gambas program calls a function in an external library. The function of the external library calls a function of the gambas program at regular intervals (e.g. when data is received). a kind of callback. Friendship Olivier Coquet From bsteers4 at gmail.com Thu Feb 18 15:17:43 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 14:17:43 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: On Thu, 18 Feb 2021 at 13:42, olivier coquet wrote: > Hello lee, > > What you say reflects exactly what I think, adding possible features > without imposing them on all users. > > It's true that we're approaching a somewhat commercial approach that > doesn't seem to be appropriate here :) > Well this is the Gambas mailing list after all. Gambas is open source free software and this list is for Gambas. By all means make your personal commercial plugin system. give it a webpage , give it it's own mailing list. and talk about it on there. See if after many years of running it if any people join and start telling you how you should do things ;) Ironically gambas is already pretty much plugin based (modular) as Benoit explained in detail. Ironically it already has a http server. Talk about trying to re-invent the wheel lol ;) I wonder if your next great idea will be some kind of Basic interpreter for gambas ?. ;) Basically you're gonna have ideas for things that the Gambas team might find interesting and maybe even adopt. You're also going to have ideas that the Gambas team are simply not interested in. For the latter just build the components yourself and market them as you please. Understanding BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 18 15:19:04 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 14:19:04 +0000 Subject: [Gambas-user] CallBack from external library In-Reply-To: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Message-ID: http://gambaswiki.org/wiki/howto/extern On Thu, 18 Feb 2021 at 13:46, olivier coquet wrote: > Hello, > > Would anyone know if it is possible to call a procedure or function of a > gambas program from an external library ( C ). > > In summary: > The gambas program calls a function in an external library. > The function of the external library calls a function of the gambas > program at regular intervals (e.g. when data is received). a kind of > callback. > > Friendship > Olivier Coquet > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 18 15:22:18 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 14:22:18 +0000 Subject: [Gambas-user] CallBack from external library In-Reply-To: References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Message-ID: Oh wait , you want to know if gambas functions can be called from the external library not the other way round? You'd have to ask on the list of the external library in question. How would we know how the external library works? On Thu, 18 Feb 2021 at 14:19, Bruce Steers wrote: > http://gambaswiki.org/wiki/howto/extern > > On Thu, 18 Feb 2021 at 13:46, olivier coquet > wrote: > >> Hello, >> >> Would anyone know if it is possible to call a procedure or function of a >> gambas program from an external library ( C ). >> >> In summary: >> The gambas program calls a function in an external library. >> The function of the external library calls a function of the gambas >> program at regular intervals (e.g. when data is received). a kind of >> callback. >> >> Friendship >> Olivier Coquet >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.rodriguez at cenpalab.cu Thu Feb 18 15:34:56 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Thu, 18 Feb 2021 14:34:56 +0000 Subject: [Gambas-user] CallBack from external library In-Reply-To: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Message-ID: <94db929e7150b6edddfd076b2423e826@cenpalab.cu> February 18, 2021 8:46 AM, "olivier coquet" wrote: > The gambas program calls a function in an external library. > The function of the external library calls a function of the gambas program at regular intervals > (e.g. when data is received). a kind of callback. > Well, I would use some kind of TCP socket communications with a simple self-designed protocol, but that's just me, I have done a lot of that kind of thing before, LOL. I suppose there are simpler (or more standard) ways...? Regards, Joe1962 From jose.rodriguez at cenpalab.cu Thu Feb 18 15:25:31 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Thu, 18 Feb 2021 14:25:31 +0000 Subject: [Gambas-user] CallBack from external library In-Reply-To: References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Message-ID: February 18, 2021 9:22 AM, "Bruce Steers" )> wrote: Oh wait , you want to know if gambas functions can be called from the external library not the other way round? You'd have to ask on the list of the external library in question. How would we know how the external library works? I would assume the question is regarding a self-programmed (or at least self-modified) library. Regards, Joe1962 -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Feb 18 15:37:43 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 14:37:43 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: On Wed, 17 Feb 2021 at 18:56, olivier coquet wrote: > Hello Benoit and the others, > > First of all thank you for your interest in the plugin system, I > wouldn't have imagined that it could interest anyone else than me :) > > For the points you mention: > > 0) It seems to me that a guide-line would be appropriate for plugins to > be easily recognized. > So do it. doesn't look like anyone here will. > 1) I don't agree with absolutepath, I prefer by far my system that loads > plugins in the components directory. This way their installation is > simple (installation package) and this directory is kept up to date in > the gambas system without uncertain manipulation. > Gambas only wants to deal with absolute paths , it's clearly documented. > 3) The I disagree with you, what you describe is a component, by nature > a plugin acts on the main program but it is unknown to it. Said in > another way, the main program cannot/must not access the functions and > procedures of the plugin except for the initialization procedure which > must be identical in all plugins. > PS: For someone who hasn't read the current thread, did the name main() > suddenly appear to you? :) > > 4) same as for #4, no need to have the list of exported classes, the > main program doesn't need to know them. > > To sum up, this is what I expect from a plugin and what I realized in > the recently posted example: > > A plugin must not disrupt the operation of a stable main program. > A plugin must be able to "hijack" some of the functions of the main > program. > A plugin should be able to change the appearance of the windows of the > main program in order to improve them or to add functions to them. > Last but not least: The main program must be able to work correctly if > the plugin is absent and this without specific detection code (which > argues in favour of my remark on point n? 3). > > In my mind, a plugin is an additional, different or improved function > added to the main program after the main program has been designed. > These additional functions and improvements could not be foreseen at the > time of the creation of the main program. > > If you want a concrete example, I advise you to take a look at the > example I posted here which illustrates 100% what I'm talking about. > Not sure anyone really wants to.(we're all a bit busy doing our own things) Make a plugin system Oliver. You seem to want to do things differently to how gambas works so don't expect it to be adopted by gambas. But that's fair enough, If your plugin system is good then maybe it will take off? At least it will work for you in every way you expect it to BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Thu Feb 18 15:45:00 2021 From: tercoide at hotmail.com (martin p cristia) Date: Thu, 18 Feb 2021 11:45:00 -0300 Subject: [Gambas-user] CallBack from external library In-Reply-To: References: Message-ID: It is possible. I've done it. In C: long M8gauss(double *matriz, double *x, double * ti, long n , int *salir,?? void (*cbGambas) (int) ) { ??? if(n == 0)return 1; ??? int i, i1, j, h, h1; ??? //long ok = -1; ??? //long contador = 0; ??? double c1; ??? // triangulacion ??? for (i = 0;i CallBack from external library -- Saludos Ing. Martin P Cristia From kicking177 at gmail.com Thu Feb 18 18:48:30 2021 From: kicking177 at gmail.com (KKing) Date: Thu, 18 Feb 2021 17:48:30 +0000 Subject: [Gambas-user] Terminal setting questions Message-ID: So I went to migrate one of my ncurses based gambas projects to 3.15.2 on Bullseye Alpha 3 using LXQT via std Debian repos. It fails with No terminal emulator found, so I went to check / set the Terminal in the Preferences ... but the list contains ? Konsole ? Gnome terminal ? Mate terminal ? XFCE terminal ? lxterminal ? XTerm whereas the default terminal (as shown in menu as "QTerminal") is qterminal. It appears the list is hardcoded in FOption.class ?? cmbTerminal.List = [("(Default)"), "Konsole", "Gnome terminal", "Mate terminal", "XFCE Terminal", "lxterminal", "XTerm"] Could this (and the browser list) maybe be not hardcoded, but pick up from some sort of defaults config files that can be more easily tweaked by hand when needed? Another curio is that I went to do a screenshot of the options in the Terminal dropdown and pressed printscreen nothing happens.... while the dropdown list is visible the printscreen does not invoke the screengrab function, once you collapse the dropdown the screengrab works as normal ... realise this might be more a LXQT and DM issue than Gambas as such. From jussi.lahtinen at gmail.com Thu Feb 18 18:57:48 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 18 Feb 2021 19:57:48 +0200 Subject: [Gambas-user] Gmail Attachment Pipe In-Reply-To: <1613629191.207173181@f32.my.com> References: <1613629191.207173181@f32.my.com> Message-ID: OK, yes they surely are trying it. Jussi On Thu, Feb 18, 2021 at 8:29 AM Brian G wrote: > I mean just figuring out how to bypass the filters > > -- > Thanks > Brian > Wednesday, 17 February 2021, 01:21PM -08:00 from Jussi Lahtinen > jussi.lahtinen at gmail.com: > > I just wonder if the bad guys are doing the same thing? > > I think they just try to block malware. Thus they offer sending the > "suspicious" files as google drive links. That way they can attach content > warning for the receiving end. > I would guess they assume that if you are savvy enough to use the > receiving end of the pipe to circumvent the filters, then you are savvy > enough to not run a malware. > I see no reason why they would specifically want to block Gambas projects. > It is just coincidence that the AI thinks it is suspicious. > > > Um... the point was, why would "bad" guys use this? How would they benefit? > > > Jussi > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Thu Feb 18 19:37:09 2021 From: ocoquet at 3d-phenomen.fr (olivier coquet) Date: Thu, 18 Feb 2021 19:37:09 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: Hello bruce, It seems that I don't understand things very well. _It is not the Gambas mailing list but the Gambas USERS mailing list, nuance_. Where is it written that these users should only develop free software? Certainly not in the GPL license (read it again, it seems to me that you miss some information about it). To my knowledge, Gambas is a tool, a tool is made to do things, free or not. AND in any case, I think that the only one whose opinion may be relevant at this stage is Benoit, if he tells me he disagrees with the principle of developing commercial software with Gambas I would bow, but until he gives an opinion I remain on my position. I thought that the Gambas community had evolved in the direction of open-mindedness, it seems that this is not the case. Olivier COQUET Translated with www.DeepL.com/Translator (free version) Le 18/02/2021 ? 15:17, Bruce Steers a ?crit?: > > > On Thu, 18 Feb 2021 at 13:42, olivier coquet > wrote: > > Hello lee, > > What you say reflects exactly what I think, adding possible features > without imposing them on all users. > > It's true that we're approaching a somewhat commercial approach that > doesn't seem to be appropriate here :) > > > Well this is the Gambas mailing list after all. > Gambas is open source free software and this list is for Gambas. > > By all means make your personal commercial plugin system. > give it a webpage , give it it's own mailing list. and talk about it > on there. > See if after many years of running it if any people join and start > telling you how you should do things ;) > > Ironically gambas is already pretty much plugin based (modular) as > Benoit explained in detail. > Ironically it already has a http server. > Talk about trying to re-invent the wheel lol ;) > I wonder if your next great idea will be some kind of Basic > interpreter for gambas ?. > ;) > > Basically you're gonna have ideas for things that the Gambas team > might find interesting and maybe even adopt. > You're also going to have ideas that the Gambas team are simply not > interested in. > For the latter just build the components yourself and market them as > you please. > > Understanding > > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 18 21:55:45 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 18 Feb 2021 22:55:45 +0200 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: Benoit chose GPL, so you own the programs you write with Gambas. Sell them, publish, do whatever you please. Even Benoit couldn't stop you (why would he care!? I think Benoit himself writes closed code with Gambas), because of the license. Jussi On Thu, Feb 18, 2021 at 8:38 PM olivier coquet wrote: > Hello bruce, > > It seems that I don't understand things very well. > *It is not the Gambas mailing list but the Gambas USERS mailing list, > nuance*. > Where is it written that these users should only develop free software? > Certainly not in the GPL license (read it again, it seems to me that you > miss some information about it). > To my knowledge, Gambas is a tool, a tool is made to do things, free or > not. AND in any case, I think that the only one whose opinion may be > relevant at this stage is Benoit, if he tells me he disagrees with the > principle of developing commercial software with Gambas I would bow, but > until he gives an opinion I remain on my position. > I thought that the Gambas community had evolved in the direction of > open-mindedness, it seems that this is not the case. > > Olivier COQUET > > > Translated with www.DeepL.com/Translator (free version) > > Le 18/02/2021 ? 15:17, Bruce Steers a ?crit : > > > > On Thu, 18 Feb 2021 at 13:42, olivier coquet > wrote: > >> Hello lee, >> >> What you say reflects exactly what I think, adding possible features >> without imposing them on all users. >> >> It's true that we're approaching a somewhat commercial approach that >> doesn't seem to be appropriate here :) >> > > Well this is the Gambas mailing list after all. > Gambas is open source free software and this list is for Gambas. > > By all means make your personal commercial plugin system. > give it a webpage , give it it's own mailing list. and talk about it on > there. > See if after many years of running it if any people join and start telling > you how you should do things ;) > > Ironically gambas is already pretty much plugin based (modular) as Benoit > explained in detail. > Ironically it already has a http server. > Talk about trying to re-invent the wheel lol ;) > I wonder if your next great idea will be some kind of Basic interpreter > for gambas ?. > ;) > > Basically you're gonna have ideas for things that the Gambas team might > find interesting and maybe even adopt. > You're also going to have ideas that the Gambas team are simply not > interested in. > For the latter just build the components yourself and market them as you > please. > > Understanding > > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Thu Feb 18 22:00:05 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 22:00:05 +0100 Subject: [Gambas-user] Terminal setting questions In-Reply-To: References: Message-ID: <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> Le 18/02/2021 ? 18:48, KKing a ?crit?: > So I went to migrate one of my ncurses based gambas projects to 3.15.2 > on Bullseye Alpha 3 using LXQT via std Debian repos. > > It fails with No terminal emulator found, so I went to check / set the > Terminal in the Preferences ... but the list contains > ? Konsole > ? Gnome terminal > ? Mate terminal > ? XFCE terminal > ? lxterminal > ? XTerm > > whereas the default terminal (as shown in menu as "QTerminal") is > qterminal. > > It appears the list is hardcoded in FOption.class > ?? cmbTerminal.List = [("(Default)"), "Konsole", "Gnome terminal", > "Mate terminal", "XFCE Terminal", "lxterminal", "XTerm"] > > Could this (and the browser list) maybe be not hardcoded, but pick up > from some sort of defaults config files that can be more easily tweaked > by hand when needed? This is hardcoded because AFAIK there is no standard way to get that information. Anyway, I can add "qterminal" to the hardcoded list. Regards, -- Beno?t Minisini From g4mba5 at gmail.com Thu Feb 18 22:02:44 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 18 Feb 2021 22:02:44 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: Le 18/02/2021 ? 21:55, Jussi Lahtinen a ?crit?: > Benoit chose GPL, so you own the programs you write with Gambas. Sell > them, publish, do whatever you please. > Even Benoit couldn't stop you (why would he care!? I think Benoit > himself writes closed code with Gambas), because of the license. > > Jussi > Yes. It's GPL, the GPL it is. People must just be careful with the license of the underlying libraries (Qt do you hear me?). I had to remove a database driver in the past because I didn't realize that its license was not compatible with the GPL. But IANAL at all at all. -- Beno?t Minisini From tercoide at hotmail.com Thu Feb 18 22:39:24 2021 From: tercoide at hotmail.com (martin cristia) Date: Thu, 18 Feb 2021 18:39:24 -0300 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: Olivier, nobody said you cannot sell the software. You can, of course, but as open source or you will face Qt licensing issues (not Gambas). Or maybe I'm wrong!!! from https://www.qt.io/download-open-source#obligations "When selecting an open source license for your project, you contribute to free and open source software development by using Qt under any of the following licenses: LGPL version 3, GPL version 2 and GPL version 3." I'm pretty sure your program uses some of the Qt controls. Unless its console, or GTK, but most use Qt. But I may be absolutely wrong on this matter. :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Thu Feb 18 22:40:36 2021 From: bagonergi at gmail.com (Gianluigi) Date: Thu, 18 Feb 2021 22:40:36 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: Il giorno gio 18 feb 2021 alle ore 22:03 Beno?t Minisini ha scritto: > Le 18/02/2021 ? 21:55, Jussi Lahtinen a ?crit : > > Benoit chose GPL, so you own the programs you write with Gambas. Sell > > them, publish, do whatever you please. > > Even Benoit couldn't stop you (why would he care!? I think Benoit > > himself writes closed code with Gambas), because of the license. > > > > Jussi > > > > Yes. It's GPL, the GPL it is. > > People must just be careful with the license of the underlying libraries > (Qt do you hear me?). I had to remove a database driver in the past > because I didn't realize that its license was not compatible with the GPL. > > But IANAL at all at all. > > -- > Beno?t Minisini > Thoughts of the evening: I'm also not a lawyer and unlike Benoit I'm not even a programmer. I'm just saying what my amateur thoughts are. If one actively participates in ML and exchanges (exchange = receive and dispense) his knowledge with that of others, I don't see why he cannot sell a program written by him. It is different if one gets help from others and exploits it commercially without giving anything in return. Without forgetting that sometimes certain questions can be illuminating in themselves. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Feb 18 23:09:40 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 19 Feb 2021 00:09:40 +0200 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: > Thoughts of the evening: > > I'm also not a lawyer and unlike Benoit I'm not even a programmer. > > I'm just saying what my amateur thoughts are. > > If one actively participates in ML and exchanges (exchange = receive and > dispense) his knowledge with that of others, I don't see why he cannot sell > a program written by him. > > It is different if one gets help from others and exploits it commercially > without giving anything in return. > > Without forgetting that sometimes certain questions can be illuminating in > themselves. > > Regards > Gianluigi > Also remember that you can *not* use someone's code for a closed source project without permission. So, code shared in this mailing list is not necessarily OK to use in a closed source project. Example, projects I publish are all GPL (unless stated otherwise). IE not OK for closet source. But code snippets (by anyone who publishes them) are usually considered free to use. However, I'm not lawyer either. It's best to ask for permission/license, if unsure. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Feb 18 23:13:16 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 18 Feb 2021 23:13:16 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: I confirm, there is no obligation to write open source programs with Gambas. Gambas is like a hammer and an anvil, What you do with it does not concern us and fortunately !. I choose to write free programs because I don't need them to live and I like this spirit of exchanging knowledge and skills. It would be quite different if I were in the situation of having to live from my creations. Benoit, for example, writes Gambas and his GPL IDE with the right hand and produces a lot of other products for his customers who are in right owners with the left. And it's good like that :-) I hate totalitarianism me! Come on ... now you hug each other? :-D From jussi.lahtinen at gmail.com Thu Feb 18 23:13:53 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Fri, 19 Feb 2021 00:13:53 +0200 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: Message-ID: LGPL license allows closed source use, with the condition that if the LGPL component is modified, the modification must be published open source. So, this applies only to Gambas, not programs made with Gambas. Jussi On Thu, Feb 18, 2021 at 11:40 PM martin cristia wrote: > Olivier, nobody said you cannot sell the software. You can, of course, but > as open source or you will face Qt licensing issues (not Gambas). Or maybe > I'm wrong!!! > > from > > https://www.qt.io/download-open-source#obligations > > "When selecting an open source license for your project, you contribute to > free and open source software development by using Qt under any of the > following licenses: LGPL version 3, GPL version 2 and GPL version 3." > > I'm pretty sure your program uses some of the Qt controls. Unless its > console, or GTK, but most use Qt. > > But I may be absolutely wrong on this matter. :) > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Feb 18 23:18:15 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 18 Feb 2021 23:18:15 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: > Also remember that you can not use someone's code for a closed source project without permission. > So, code shared in this mailing list is not necessarily OK to use in a closed source project. > > Example, projects I publish are all GPL (unless stated otherwise). IE not OK for closet source. > But code snippets (by anyone who publishes them) are usually considered free to use. However, I'm not lawyer either. > It's best to ask for permission/license, if unsure. > Hum ... remember that all you share here ... It's kind like on FB ... Well after here I've not seen miraculous code part .. or nothing that cannot be done in another way. Well It' s like music when you ear one time a melody ... it's really difficult to not imitate it. And if you take the number of notes ... how many chance have you to see a part of a song in another one ? ... well this is the limit of the licencing system. > Jussi > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard From bsteers4 at gmail.com Thu Feb 18 23:18:42 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 Feb 2021 22:18:42 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: On Thu, 18 Feb 2021, 18:38 olivier coquet, wrote: > Hello bruce, > > It seems that I don't understand things very well. > *It is not the Gambas mailing list but the Gambas USERS mailing list, > nuance*. > Where is it written that these users should only develop free software? > Certainly not in the GPL license (read it again, it seems to me that you > miss some information about it). > No. To my knowledge, Gambas is a tool, a tool is made to do things, free or > not. AND in any case, I think that the only one whose opinion may be > relevant at this stage is Benoit, if he tells me he disagrees with the > principle of developing commercial software with Gambas I would bow, but > until he gives an opinion I remain on my position. > I thought that the Gambas community had evolved in the direction of > open-mindedness, it seems that this is not the case. > The gambas community are trying to help you! I'm the only one having a moan? It's a horrible job but someone has to do it. ? You remind me of me when I first came here. Lots of great ideas of my own but no idea how the already existing system works. Saying things like "gambas should do this and that" Then finding it already does but I just didn't know how to do it. Getting help but not really listening as my own ideals still making too much noise. But then listening, and like you considering what Benoit says about gambas to be gospel and understanding things to accept (mostly, I may have argued a couple of points) And thinking there will be lots of interest in my ideas but then maybe get 1 or 2 people respond. I realised other people are just busy, i need to learn myself, people can advise but dont have the time teach me all I do not understand. people's interest in my projects matters not. I've made my projects for me (well all except the simple gambas upgrader) I like them, that's what matters. I need nobody's approval. You seem to me to be someone always looking to make a buck, gonna have that great idea that'll make a fortune. I'm not saying you shouldn't want to make money. I do wonder how you'll moralise using free software to make commercial software but thats just me. I'm just saying most people here are more free spirited. We use free software, we make free software. Heres an analogy, some of us are starfleet some are ferengi ? Curious to know if you ever made a commercial gambas program that made money if youd think about sending Benoit some royalties? Or the people here who are helping you understand an ide you clearly have a lot to learn about. I'm not talking about rules or requirements. Just a curiosiry. Of course there are no rules about not making commercial software or asking about it here or paying Benoit, (I think? Maybe gambas cannot be used freely for commercial software? I do not know the details of that) I'm just reminding you about the world you're in now. You got that ferengi look about you. ? Please do not refer to "the gambas community" when you refer to me. The gambas community are a great bunch. I'm a complete nob though ? But I have my plus side ? Be well Oli BeuceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Feb 19 00:17:01 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 18 Feb 2021 18:17:01 -0500 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> Message-ID: <84d661d6-42aa-d751-8388-e7ea95e6b822@gmail.com> On 2/18/21 1:37 PM, olivier coquet wrote: > It seems that I don't understand things very well. > _It is not the Gambas mailing list but the Gambas USERS mailing list, nuance_. > Where is it written that these users should only develop free software? > Certainly not in the GPL license (read it again, it seems to me that you miss some information about it). > To my knowledge, Gambas is a tool, a tool is made to do things, free or not. AND in any case, I think that the only one whose > opinion may be relevant at this stage is Benoit, if he tells me he disagrees with the principle of developing commercial > software with Gambas I would bow, but until he gives an opinion I remain on my position. > I thought that the Gambas community had evolved in the direction of open-mindedness, it seems that this is not the case. Beno?t has created and made Gambas freely available. And, as others have noted, even he uses this tool to create applications for his clients. So, in my humble opinion, you should not let the haughtiness and negativity of one represent the attitude of the community as a whole. I personally would be glad to help anyone learn to use Gambas to create whatever they wish with it -- even if they make money on it. And why not? Not on bit does it lower my status in life to help someone else raise theirs. So carry on, Olivier. Create something that solves peoples' problems or enhances their lives. And don't let anyone dissuade you. :-) -- Lee From adamnt42 at gmail.com Fri Feb 19 00:20:38 2021 From: adamnt42 at gmail.com (Bruce) Date: Fri, 19 Feb 2021 09:50:38 +1030 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: <84d661d6-42aa-d751-8388-e7ea95e6b822@gmail.com> References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> <84d661d6-42aa-d751-8388-e7ea95e6b822@gmail.com> Message-ID: <9fbf74b0-750c-fb41-10f2-fa54a1991673@gmail.com> On 19/2/21 9:47 am, T Lee Davidson wrote: > Beno?t has created and made Gambas freely available. And, as others have > noted, even he uses this tool to create applications for his clients. > So, in my humble opinion, you should not let the haughtiness and > negativity of one represent the attitude of the community as a whole. I > personally would be glad to help anyone learn to use Gambas to create > whatever they wish with it -- even if they make money on it. And why > not? Not on bit does it lower my status in life to help someone else > raise theirs. > > So carry on, Olivier. Create something that solves peoples' problems or > enhances their lives. And don't let anyone dissuade you. :-) > > Well said! bruce From jose.rodriguez at cenpalab.cu Fri Feb 19 02:19:32 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 01:19:32 +0000 Subject: [Gambas-user] Terminal setting questions In-Reply-To: <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> References: <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> Message-ID: February 18, 2021 4:01 PM, "Beno?t Minisini" wrote: > > Anyway, I can add "qterminal" to the hardcoded list. > Since you're going there anyway, how about terminator, please... ;) Regards, Joe1962 From tercoide at hotmail.com Fri Feb 19 00:47:34 2021 From: tercoide at hotmail.com (martin cristia) Date: Thu, 18 Feb 2021 20:47:34 -0300 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: References: Message-ID: So to make something usefull on this matter can we conclude that: -Gambas itself must be opensource to meet its components licensing -Programs made with Gb not, even if they use those components as they are "out there" in the user's HD -Olivier can make a pluggin and sell his software, and we all will help him Go on! From isafiur at gmail.com Fri Feb 19 04:52:17 2021 From: isafiur at gmail.com (Safiur Rahman) Date: Fri, 19 Feb 2021 09:37:17 +0545 Subject: [Gambas-user] Application_Error in gb.web.gui Message-ID: Hi Is there any technique to implement application wide procedure on generation of error in gb.web.gui. There is Application_Error procedure in gambas3 GUI application. As the web application exits on error without informing any message to user, this can be more user friendly for web programming. -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Feb 19 06:07:39 2021 From: adamnt42 at gmail.com (Bruce) Date: Fri, 19 Feb 2021 15:37:39 +1030 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: References: Message-ID: <1ccccbbe-6e92-5cae-fac7-b0a2cebe1d8e@gmail.com> On 19/2/21 10:17 am, martin cristia wrote: > So to make something usefull on this matter can we conclude that: > > -Gambas itself must be opensource to meet its components licensing This is not correct. Gambas itself is "open Source" because Benoit chooses so. As a condition of distrubiting it for use under the GPL he must also distribute the source code. Which he does. Iy is not his responsibility, nor does he, distribute external components that are used by gambas. If he did so then he would have to distribute them under the conditions of yhe licence concerned, If they were GPL AND HE CHANGED SOMETHING IN THEM TO SUIT Gambas YHEN HE WOULD HAVE TO DUSTRIBUTE HIS VERSIONS of that code under GPL. > > -Programs made with Gb not, even if they use those components as they > are "out there" in the user's HD Same as the above, if you chose to distribte your program LICENSED FOR USE UNDER THE GPL then you must meet the responsibilities thereof. Mainly, You must also make the source code available. If you choose to distrubute your program under some other agreement or licence then you are free to do so. Bt for example you cannt use the GPL and not include the source. Simple. Se below on "acknowledgements. > > -Olivier can make a pluggin and sell his software, and we all will help him > > Go on! > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- In addition some mentions were made on help from the forum code from the forum and support for the development of Gambas. At the very lrast, no matter how you distribute your programs, I believe that you should acknowledge the time and contribution of Benoit, the Gambas developers and the general Gambas community. For example attached is a screenshot from one of our programs. regards bruce (typing this myself, so [leaseexcuse any mistakes. -------------- next part -------------- A non-text attachment was scrubbed... Name: About me..._002.png Type: image/png Size: 38478 bytes Desc: not available URL: From kicking177 at gmail.com Fri Feb 19 09:39:59 2021 From: kicking177 at gmail.com (KKing) Date: Fri, 19 Feb 2021 08:39:59 +0000 Subject: [Gambas-user] web view control Message-ID: Is there a web view control (i.e. show html content from a URL or file) in standard "Graphical application" in stock 3.15.2? ? Or does it require either - GTK or QT base project - a component added to project - available in a newer version (built form source) From bagonergi at gmail.com Fri Feb 19 10:43:49 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 19 Feb 2021 10:43:49 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project In-Reply-To: <9fbf74b0-750c-fb41-10f2-fa54a1991673@gmail.com> References: <1c104459-799a-4d98-f4d2-716b5c3d56ee@gmail.com> <992ca73a-809a-19e2-abe3-8f40f39e814b@3d-phenomen.fr> <84d661d6-42aa-d751-8388-e7ea95e6b822@gmail.com> <9fbf74b0-750c-fb41-10f2-fa54a1991673@gmail.com> Message-ID: Little thought in the morning: I'm not sure things are that simple. The GPL (and derivatives) license allows you to sell the software, not close it. Whoever closes the GPL code, in my humble opinion, puts himself in a position to be sued and have to pay more than he earned. I do not believe that the chrome operation (and others like it) is completely legal and even if some companies have rivers of lawyers they are at risk of retaliation by powerful states... I believe the difference between making money with open software and closing open software is huge. In other words, for example, if I create or have a programmer make a code with Gambas to sell my goods online, I have the right not to distribute the code. But if I distribute the software then I lose this right. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Fri Feb 19 10:49:51 2021 From: mbelmonte at belmotek.net (Martin) Date: Fri, 19 Feb 2021 10:49:51 +0100 Subject: [Gambas-user] Free as in freedom Message-ID: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> I believe that software is the result of a collective creation, but even the lonely programmer (most of us), to learn, needs to study other programs, so it could be said that there is no such thing as an isolated programmer. Maybe Alan Turing? Free software is a world heritage site, it is like cooking recipes, fire, agriculture, the wheel or the library of Alexandria. That the software is free as in freedom makes the world better, in Spanish there are two different words for what is free as in freedom (LIBRE) and what is free as open bar (GRATIS), but in English it is a little bit confusing. If we base our business model on restricting the freedom of others, I think we would be making a mistake, I think we would be being selfish. If we start talking only about the OPENING of free software and not about FREEDOM, I think that again we are making another mistake. I say thanks to Benoit and all those who made and make GAMBAS possible and offer it to everyone to use it and also to study it (it is not a minor data) and modify it. I say tanks to all that share your own creations as Software LIBRE it is very important. Regards. Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Feb 19 11:19:53 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 19 Feb 2021 11:19:53 +0100 Subject: [Gambas-user] Free as in freedom In-Reply-To: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> Message-ID: Il giorno ven 19 feb 2021 alle ore 11:01 Martin ha scritto: > I believe that software is the result of a collective creation, but even > the lonely programmer (most of us), to learn, needs to study other > programs, so it could be said that there is no such thing as an isolated > programmer. Maybe Alan Turing? > > Free software is a world heritage site, it is like cooking recipes, fire, > agriculture, the wheel or the library of Alexandria. > > That the software is free as in freedom makes the world better, in Spanish > there are two different words for what is free as in freedom (LIBRE) and > what is free as open bar (GRATIS), but in English it is a little bit > confusing. > > If we base our business model on restricting the freedom of others, I > think we would be making a mistake, I think we would be being selfish. > > If we start talking only about the OPENING of free software and not about > FREEDOM, I think that again we are making another mistake. > > I say thanks to Benoit and all those who made and make GAMBAS possible and offer > it to everyone to use it and also to study it (it is not a minor data) and > modify it. > > I say tanks to all that share your own creations as Software LIBRE it is > very important. > This distinction also exists in English, open and free, and seems that it is one man of this lang that created the GPL. If you come to my pastry shop to buy an GPL cake, in addition to the cake, you also get the recipe. If you buy the cake that the manufacturer gave me free, I only sell you the cake. On the basic moral concepts I think agree with you. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From tercoide at hotmail.com Fri Feb 19 13:04:28 2021 From: tercoide at hotmail.com (martin p cristia) Date: Fri, 19 Feb 2021 09:04:28 -0300 Subject: [Gambas-user] How to create a plugin system for your, Gambas project: a conclusion In-Reply-To: References: Message-ID: Sure, otherwise he would need to buy a paid license of Qt wich is very expensive. > This is not correct. Gambas itself is "open Source" because Benoit > chooses so. Well done. I beleive any of us will do as well If we ever do something good. I hope so. > I believe that you should > acknowledge the time and contribution of Benoit, the Gambas developers > and the general Gambas community. For example attached is a screenshot > from one of our programs. -- Saludos Ing. Martin P Cristia From t.lee.davidson at gmail.com Fri Feb 19 13:39:38 2021 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 19 Feb 2021 07:39:38 -0500 Subject: [Gambas-user] web view control In-Reply-To: References: Message-ID: On 2/19/21 3:39 AM, KKing wrote: > Is there a web view control (i.e. show html content from a URL or file) in standard "Graphical application" in stock 3.15.2? ? > Or does it require either > - GTK or QT base project > - a component added to project > - available in a newer version (built form source) A standard "Graphical application" will use either GTK or Qt depending on your system. There does not appear to be a webkit/webview compatible with GTK3 for v3.15.2 (I hope I'm wrong). If your system uses Qt, you should still be able to use gb.qt4.webkit or gb.qt5.webkit. According to the Wiki, there are now Webview components for v3.16 that are compatible with Qt4, Qt4, and GTK3. -- Lee From bsteers4 at gmail.com Fri Feb 19 14:16:15 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 19 Feb 2021 13:16:15 +0000 Subject: [Gambas-user] web view control In-Reply-To: References: Message-ID: On Fri, 19 Feb 2021 at 08:41, KKing wrote: > Is there a web view control (i.e. show html content from a URL or file) > in standard "Graphical application" in stock 3.15.2 ? > Or does it require either > - GTK or QT base project > - a component added to project > - available in a newer version (built form source) > Depends how you mean by "standard" As "Standard" all my linux systems use gtk3 but they also have gtk2 and qt5 as "standard" gambas uses gb.gui switcher in a "Graphical application" that will use gtk or qt depending on the system or GB_GUI env choice. because of that gb.gui is limited to controls that all the gui systems have. GTK3 webview only exists in the newer gambas so your only options for webview are.. 1. use gb.gui.qt not gb.gui , that'll force your app to be QT and enable the qt webview 2. if the linux you have is ubntu based use the PPA install method to easily upgrade gambas. 3. manually compile to upgrade. 4. use one of my most awesome tools to upgrade if you have a supported system ;) lol http://gambaswiki.org/wiki/installtools BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Fri Feb 19 14:33:57 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 19 Feb 2021 14:33:57 +0100 Subject: [Gambas-user] web view control In-Reply-To: References: Message-ID: If you want my opinion stick with the stable version. As they have already suggested, use gb.gui.qt, but if you want to use WebView you have to manually check gb.gui.qt.webkit from the properties window. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.rodriguez at cenpalab.cu Fri Feb 19 15:00:31 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 14:00:31 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: References: Message-ID: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> February 18, 2021 10:21 PM, "martin cristia" wrote: > -Programs made with Gb not, even if they use those components as they are "out there" in the user's > HD > Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree that using a GPLed IDE to make your programs does not automatically mean your own programs are GPL (unless, perhaps, there are some special stipulations made in the IDE license). However, your own programs do depend on the license of the included and runtime libraries (and probably even the gambas runtime interpreter/compiler, in this case). If those were LGPL, your own programs could be closed source, but if they are GPL, then your code automatically becomes GPL. Just my 2 cents worth... Regards, Joe1962 From bagonergi at gmail.com Fri Feb 19 15:30:40 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 19 Feb 2021 15:30:40 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> Message-ID: Il giorno ven 19 feb 2021 alle ore 15:04 Joe1962 via User < user at lists.gambas-basic.org> ha scritto: > February 18, 2021 10:21 PM, "martin cristia" wrote: > > > -Programs made with Gb not, even if they use those components as they > are "out there" in the user's > > HD > > > > Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree > that using a GPLed IDE to make your programs does not automatically mean > your own programs are GPL (unless, perhaps, there are some special > stipulations made in the IDE license). However, your own programs do depend > on the license of the included and runtime libraries (and probably even the > gambas runtime interpreter/compiler, in this case). If those were LGPL, > your own programs could be closed source, but if they are GPL, then your > code automatically becomes GPL. > I believe this is not the case: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 19 15:35:46 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 19 Feb 2021 06:35:46 -0800 (PST) Subject: [Gambas-user] CallBack from external library In-Reply-To: References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> Message-ID: <920498156.816.1613745346354.JavaMail.zimbra@westwoodsvcs.com> I would assume if you export the module in your program, then the library could call the module.function name if in fact the library knows the module name. The other way would be to pass the library the module as on object.. ie module to call back to. I think Ben does that in quite a few places.. Cheers Brian G From: "jose rodriguez" To: "Gambas mailing list" Sent: Thursday, February 18, 2021 6:25:31 AM Subject: Re: [Gambas-user] CallBack from external library February 18, 2021 9:22 AM, "Bruce Steers" < [ mailto:bsteers4 at gmail.com?to=%22Bruce%20Steers%22%20 | bsteers4 at gmail.com ] > wrote: Oh wait , you want to know if gambas functions can be called from the external library not the other way round? You'd have to ask on the list of the external library in question. How would we know how the external library works? I would assume the question is regarding a self-programmed (or at least self-modified) library. Regards, Joe1962 ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 19 15:45:57 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 19 Feb 2021 06:45:57 -0800 (PST) Subject: [Gambas-user] CallBack from external library In-Reply-To: <920498156.816.1613745346354.JavaMail.zimbra@westwoodsvcs.com> References: <44241faa-fb77-5cbb-a4e6-3c98c71e9b06@3d-phenomen.fr> <920498156.816.1613745346354.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <2083585629.867.1613745957018.JavaMail.zimbra@westwoodsvcs.com> When you pass a function name, i believe gambas interfaces the function to the external library. Extern signal(sig As Integer, sighandler As Pointer) As Pointer In "libc:6" Public Sub _signal(Sig As Integer) ' signal handler for waiting 'some code Catch Error.Raise("Changed _Signal pid = " & Str(getpid()) & Error.text & " " & Error.where) Stop End set it like this signal(ChangeSignal, _signal) MAybe I am not sure just what your asking ... lol Thank You Brian G From: "Brian" To: "Gambas mailing list" Sent: Friday, February 19, 2021 6:35:46 AM Subject: Re: [Gambas-user] CallBack from external library I would assume if you export the module in your program, then the library could call the module.function name if in fact the library knows the module name. The other way would be to pass the library the module as on object.. ie module to call back to. I think Ben does that in quite a few places.. Cheers Brian G From: "jose rodriguez" To: "Gambas mailing list" Sent: Thursday, February 18, 2021 6:25:31 AM Subject: Re: [Gambas-user] CallBack from external library February 18, 2021 9:22 AM, "Bruce Steers" < [ mailto:bsteers4 at gmail.com?to=%22Bruce%20Steers%22%20 | bsteers4 at gmail.com ] > wrote: Oh wait , you want to know if gambas functions can be called from the external library not the other way round? You'd have to ask on the list of the external library in question. How would we know how the external library works? I would assume the question is regarding a self-programmed (or at least self-modified) library. Regards, Joe1962 ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.rodriguez at cenpalab.cu Fri Feb 19 16:03:46 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 15:03:46 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> Message-ID: <1bd3895a68aeb022ae049aab2f1a8559@cenpalab.cu> February 19, 2021 9:29 AM, "Gianluigi" )> wrote: Il giorno ven 19 feb 2021 alle ore 15:04 Joe1962 via User ha scritto: February 18, 2021 10:21 PM, "martin cristia" wrote: > -Programs made with Gb not, even if they use those components as they are "out there" in the user's > HD > Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree that using a GPLed IDE to make your programs does not automatically mean your own programs are GPL (unless, perhaps, there are some special stipulations made in the IDE license). However, your own programs do depend on the license of the included and runtime libraries (and probably even the gambas runtime interpreter/compiler, in this case). If those were LGPL, your own programs could be closed source, but if they are GPL, then your code automatically becomes GPL. I believe this is not the case: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License (https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) "The license allows developers and companies to use and integrate a software component released under the LGPL into their own (even proprietary (https://en.wikipedia.org/wiki/Proprietary_software)) software without being required by the terms of a strong copyleft (https://en.wikipedia.org/wiki/Copyleft) license to release the source code of their own components." What part of this contradicts what I said before? Regards, Joe1962 -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Fri Feb 19 16:22:31 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 19 Feb 2021 07:22:31 -0800 (PST) Subject: [Gambas-user] Terminal setting questions In-Reply-To: References: <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> Message-ID: <2053608794.972.1613748151616.JavaMail.zimbra@westwoodsvcs.com> it might be useful to have an shell env variable for this, terminal and browser setting? Thank You Brian G ----- Original Message ----- From: "jose rodriguez" To: "Gambas mailing list" Sent: Thursday, February 18, 2021 5:19:32 PM Subject: Re: [Gambas-user] Terminal setting questions February 18, 2021 4:01 PM, "Beno?t Minisini" wrote: > > Anyway, I can add "qterminal" to the hardcoded list. > Since you're going there anyway, how about terminator, please... ;) Regards, Joe1962 ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From kicking177 at gmail.com Fri Feb 19 17:32:17 2021 From: kicking177 at gmail.com (KKing) Date: Fri, 19 Feb 2021 16:32:17 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: In MS Access you could set a DropDown/Combobox control so the collapsed view showed a single column value e.g. a Customer Code but when expanded the list portion could be much wider than the collapsed ComboBox width. In the List portion additional columns of data could be presented e.g. Customer Name, Address, Postcode or ilk. Does something exist like that in Gambas already or could be readily easily achieved by "inheritance" off existing Gambas ListBox + maybe ComboBox or more likely bespoke TextBox + Button? From bagonergi at gmail.com Fri Feb 19 18:22:48 2021 From: bagonergi at gmail.com (Gianluigi) Date: Fri, 19 Feb 2021 18:22:48 +0100 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: <1bd3895a68aeb022ae049aab2f1a8559@cenpalab.cu> References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> <1bd3895a68aeb022ae049aab2f1a8559@cenpalab.cu> Message-ID: Il giorno ven 19 feb 2021 alle ore 16:07 ha scritto: > > "The license allows developers and companies to use and integrate a > software component released under the LGPL into their own (even > proprietary ) > software without being required by the terms of a strong copyleft > license to release the source > code of their own components." > > What part of this contradicts what I said before? > A part (component) is not the whole (the software). This license was created for the parties and using it for the whole is a forcing that will sooner or later be punished. But this is just my thought and you (with the river of lawyers :)) are free to think differently. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Feb 19 19:11:12 2021 From: adamnt42 at gmail.com (Bruce) Date: Sat, 20 Feb 2021 04:41:12 +1030 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> Message-ID: <695116d3-f135-70e5-1173-3f3d8c70219f@gmail.com> On 20/2/21 12:30 am, Joe1962 via User wrote: > February 18, 2021 10:21 PM, "martin cristia" wrote: > >> -Programs made with Gb not, even if they use those components as they are "out there" in the user's >> HD >> > > Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree that using a GPLed IDE to make your programs does not automatically mean your own programs are GPL (unless, perhaps, there are some special stipulations made in the IDE license). However, your own programs do depend on the license of the included and runtime libraries (and probably even the gambas runtime interpreter/compiler, in this case). If those were LGPL, your own programs could be closed source, but if they are GPL, then your code automatically becomes GPL. > > Just my 2 cents worth... > > Regards, > Joe1962 > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Think about gcc,gpp and the linux kernel. All are GPL'd. Your take would mean that any program runnning on a linux system could only be distributed under the GPL. b From brian at westwoodsvcs.com Fri Feb 19 20:29:29 2021 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 19 Feb 2021 11:29:29 -0800 (PST) Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: <695116d3-f135-70e5-1173-3f3d8c70219f@gmail.com> References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> <695116d3-f135-70e5-1173-3f3d8c70219f@gmail.com> Message-ID: <866518164.1079.1613762969084.JavaMail.zimbra@westwoodsvcs.com> I am a layman, But is it not that you need to provide the GPL license for all parts included into your project as part of the disclosure for a project. That any part you modify of the software you use that is GPL must be under the same license GPL. Anything code wise you create that uses/calls these GPL things is yours to put what ever license you want as proprietary as you want. You own the small portion you make with the free tools, or calls the free tools etc.. or maybe thats just gpl 2 not 3 .... lol! Cheers Brian G ----- Original Message ----- From: "Bruce" To: "Gambas mailing list" Sent: Friday, February 19, 2021 10:11:12 AM Subject: Re: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion On 20/2/21 12:30 am, Joe1962 via User wrote: > February 18, 2021 10:21 PM, "martin cristia" wrote: > >> -Programs made with Gb not, even if they use those components as they are "out there" in the user's >> HD >> > > Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree that using a GPLed IDE to make your programs does not automatically mean your own programs are GPL (unless, perhaps, there are some special stipulations made in the IDE license). However, your own programs do depend on the license of the included and runtime libraries (and probably even the gambas runtime interpreter/compiler, in this case). If those were LGPL, your own programs could be closed source, but if they are GPL, then your code automatically becomes GPL. > > Just my 2 cents worth... > > Regards, > Joe1962 > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Think about gcc,gpp and the linux kernel. All are GPL'd. Your take would mean that any program runnning on a linux system could only be distributed under the GPL. b ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From jose.rodriguez at cenpalab.cu Fri Feb 19 22:57:34 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 21:57:34 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: <695116d3-f135-70e5-1173-3f3d8c70219f@gmail.com> References: <695116d3-f135-70e5-1173-3f3d8c70219f@gmail.com> <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> Message-ID: February 19, 2021 1:10 PM, "Bruce" wrote: > On 20/2/21 12:30 am, Joe1962 via User wrote: > >> February 18, 2021 10:21 PM, "martin cristia" wrote: >> -Programs made with Gb not, even if they use those components as they are "out there" in the user's >>> HD >> >> Actually, AFAIUT (as far as I understand things, lol) and IANAL, I agree that using a GPLed IDE to >> make your programs does not automatically mean your own programs are GPL (unless, perhaps, there >> are some special stipulations made in the IDE license). However, your own programs do depend on the >> license of the included and runtime libraries (and probably even the gambas runtime >> interpreter/compiler, in this case). If those were LGPL, your own programs could be closed source, >> but if they are GPL, then your code automatically becomes GPL. >> Just my 2 cents worth... >> Regards, >> Joe1962 >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Think about gcc,gpp and the linux kernel. All are GPL'd. Your take would mean that any program > runnning on a linux system could only be distributed under the GPL. > But they are not part of your project. AFAIK, LGPL was created so you could make closed-source projects including/using open source libraries. Regards, Joe1962 From jose.rodriguez at cenpalab.cu Fri Feb 19 23:01:18 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 22:01:18 +0000 Subject: [Gambas-user] How to create a plugin system for your Gambas project: a conclusion In-Reply-To: References: <4ed016bc125051a40bc09641d0567e85@cenpalab.cu> <1bd3895a68aeb022ae049aab2f1a8559@cenpalab.cu> Message-ID: <6da511b714e33b8b3ac78d85d16982e5@cenpalab.cu> February 19, 2021 12:23 PM, "Gianluigi" wrote: > Il giorno ven 19 feb 2021 alle ore 16:07 ha scritto: > >> "The license allows developers and companies to use and integrate a software component released >> under the LGPL into their own (even proprietary) software without being required by the terms of a >> strong copyleft license to release the source code of their own components."What part of this >> contradicts what I said before? > > A part (component) is not the whole (the software). > This license was created for the parties and using it for the whole is a forcing that will sooner > or later punished. Like I replied to Bruce, AFAIK, LGPL was created so you could include/use opensource libraries in your closed source projects. > But this is just my thought and you (with the river of lawyers :)) are free to think differently. I said IANAL... Regards, Joe1962 From jose.rodriguez at cenpalab.cu Fri Feb 19 23:03:04 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 19 Feb 2021 22:03:04 +0000 Subject: [Gambas-user] Terminal setting questions In-Reply-To: <2053608794.972.1613748151616.JavaMail.zimbra@westwoodsvcs.com> References: <2053608794.972.1613748151616.JavaMail.zimbra@westwoodsvcs.com> <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> Message-ID: <0ce40fc22e17f8b9bddad4f8ceaeb0f8@cenpalab.cu> February 19, 2021 10:31 AM, "Brian G" wrote: > it might be useful to have an shell env variable for this, terminal and browser setting? > I remember back in my VectorLinux days, that's how we (and maybe Slackware) did it. Regards, Joe1962 From bsteers4 at gmail.com Sat Feb 20 03:12:27 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 Feb 2021 02:12:27 +0000 Subject: [Gambas-user] Terminal setting questions In-Reply-To: <2053608794.972.1613748151616.JavaMail.zimbra@westwoodsvcs.com> References: <4b925105-e103-d1c4-2592-85d3928a5083@gmail.com> <2053608794.972.1613748151616.JavaMail.zimbra@westwoodsvcs.com> Message-ID: I also just noticed (was noseying around the code) that using the IDE's Ctrl+Atl+T for "Tools/Open a Terminal" does not pay attention to this setting too. It uses Desktop.class to pick/guess the temrinal. Possibly would be a good idea to tie all terminal opening operations to the one convienient list/setting. I was just playing around with putting a TextBox next to the combo chooser and a last combo list for $aTerminal that was "Custom" setting Custom made the hidden Textbox visible and the terminal command i entered saved and restored. That's when i tried testing it using my geminal app to find the Open a Terminal menu didn't even use it lol. Definitely think opening that option up to a possible custom setting would save you ever having to add any more as the user could do it themselves :) All the best. BruceS On Fri, 19 Feb 2021 at 15:33, Brian G wrote: > it might be useful to have an shell env variable for this, terminal and > browser setting? > > Thank You > Brian G > > ----- Original Message ----- > From: "jose rodriguez" > To: "Gambas mailing list" > Sent: Thursday, February 18, 2021 5:19:32 PM > Subject: Re: [Gambas-user] Terminal setting questions > > February 18, 2021 4:01 PM, "Beno?t Minisini" wrote: > > > > > Anyway, I can add "qterminal" to the hardcoded list. > > > > > Since you're going there anyway, how about terminator, please... ;) > > Regards, > Joe1962 > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Feb 20 05:43:34 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 Feb 2021 04:43:34 +0000 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE Message-ID: I'm chugging away chewing on making a custom control. I call it Tickbox It's a CheckBox but uses a picture for the tick and can set text to left or right. My discovery though that's a bit naff... Unless i add the control to gb.form and compile it in it's not very good to use. I'm sure you know what i mean. _DrawWith works great for a copy of an existing control in displaying it but not a new one. something like _DrawWith = "Me" would be good. If i copy the class into gb.form source folder and compile it then works all as expected. The 2 attached snapshots is what i refer to. one shows the control as a class but in the normal gambas, te other where i've added the control to gb.form. Is there nothing can be done to get the custom controls visible? i've had to make a branch and have a custom gb.form to work with and keep installing/reinstalling just to get the control useable (in the IDE). the control works and shows fine when i launch the app, it's just the IDE won't play ball :(. Thanks for any pointers if i'm missing something. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: CusomControlClass.png Type: image/png Size: 46238 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: customControl_gb-form.png Type: image/png Size: 95553 bytes Desc: not available URL: From adamnt42 at gmail.com Sat Feb 20 07:41:33 2021 From: adamnt42 at gmail.com (Bruce) Date: Sat, 20 Feb 2021 17:11:33 +1030 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: References: Message-ID: On 20/2/21 3:13 pm, Bruce Steers wrote: > I'm chugging away chewing on making a custom control. > > I call it Tickbox > It's a CheckBox but uses a picture for the tick and can set text to left or > right. > > My discovery though that's a bit naff... > Unless i add the control to gb.form and compile it in it's not very good to > use. > > I'm sure you know what i mean. > _DrawWith works great for a copy of an existing control in displaying it > but not a new one. > > something like _DrawWith = "Me" would be good. > > If i copy the class into gb.form source folder and compile it then works > all as expected. > > The 2 attached snapshots is what i refer to. one shows the control as a > class but in the normal gambas, te other where i've added the control to > gb.form. > > Is there nothing can be done to get the custom controls visible? > i've had to make a branch and have a custom gb.form to work with and keep > installing/reinstalling just to get the control useable (in the IDE). > the control works and shows fine when i launch the app, it's just the IDE > won't play ball :(. > > Thanks for any pointers if i'm missing something. > > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > I doubt it. We had a go some years back and it proved to be not worth the effort. The way the Form Designer handles DrawWith I now cannot recall. Most times we just use the nearest enclosure box to give some idea as to the custome control content. YMMV but giventhe "elasticity" of the form designer vs the form as displayed at runtime I found more value in getting the control's "working code" right rather then how it looks in the form designer. Nonetheleless it's good to see someone else that wants a left labelled checkbox. We also have a left labelled radiobutton. I don't know how or why the idea of right labelling these things became a "design standard" but ISMTT! (Work that one out by yourself). regards bruce From chrisml at deganius.de Sat Feb 20 09:32:40 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 20 Feb 2021 09:32:40 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: References: Message-ID: <85e33536-48ed-3d6d-392b-203dd1b58847@deganius.de> Am 19.02.21 um 17:32 schrieb KKing: > In MS Access you could set a DropDown/Combobox control so the collapsed > view showed a single column value e.g. a Customer Code but when expanded > the list portion could be much wider than the collapsed ComboBox width. > In the List portion additional columns of data could be presented e.g. > Customer Name, Address, Postcode or ilk. Does something exist like that > in Gambas already or could be readily easily achieved by "inheritance" > off existing Gambas ListBox + maybe ComboBox or more likely bespoke > TextBox + Button? One of the first things I did when I switched over to Gambas was writing a MS-Access-like combobox (it took me about a month). My knowledge of Gambas was quite bad and today i would write it in another way but ... .. it works and I use it in my software every day. It has a few bugs that I'm not only too lazy to fix, but also too scared to touch because any change in this labyrinthine piece of code could have unknown consequences. Mostly i use it to blend in data of related tables with foreign keys of relational databases for example 'product' into 'order' or 'salutation' into 'address'. You can find it here: https://gitlab.com/christhal/gb.deg.form Have fun with it. And please don't try to understand the description ... this will only lead to more confusion ... instead use the code examples. 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 kicking177 at gmail.com Sat Feb 20 10:14:59 2021 From: kicking177 at gmail.com (KKing) Date: Sat, 20 Feb 2021 09:14:59 +0000 Subject: [Gambas-user] Terminal setting questions Message-ID: <89a15e24-ee8e-774f-e458-192599740629@gmail.com> > Definitely think opening that option up to a possible custom setting would > save you ever having to add any more as the user could do it themselves +1 From kicking177 at gmail.com Sat Feb 20 12:27:33 2021 From: kicking177 at gmail.com (KKing) Date: Sat, 20 Feb 2021 11:27:33 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: Thankyou @Christof I shall take a look, do I just import the class file(s) into my project(s) to make use of? From bagonergi at gmail.com Sat Feb 20 13:43:10 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sat, 20 Feb 2021 13:43:10 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <85e33536-48ed-3d6d-392b-203dd1b58847@deganius.de> References: <85e33536-48ed-3d6d-392b-203dd1b58847@deganius.de> Message-ID: Il giorno sab 20 feb 2021 alle ore 09:33 Christof Thalhofer < chrisml at deganius.de> ha scritto: > ... > Mostly i use it to blend in data of related tables with foreign keys of > relational databases for example 'product' into 'order' or 'salutation' > into 'address'. > > You can find it here: > > https://gitlab.com/christhal/gb.deg.form > > Have fun with it. > > And please don't try to understand the description ... this will only > lead to more confusion ... instead use the code examples. > Hi Christof, can you satisfy my curiosity, what changes compared to DataComboView (gb.db.form)? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Feb 20 15:03:18 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 Feb 2021 14:03:18 +0000 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: References: Message-ID: On Sat, 20 Feb 2021 at 06:42, Bruce wrote: > On 20/2/21 3:13 pm, Bruce Steers wrote: > > I'm chugging away chewing on making a custom control. > > > > I call it Tickbox > > It's a CheckBox but uses a picture for the tick and can set text to left > or > > right. > > > > My discovery though that's a bit naff... > > Unless i add the control to gb.form and compile it in it's not very good > to > > use. > > > > I'm sure you know what i mean. > > _DrawWith works great for a copy of an existing control in displaying it > > but not a new one. > > > > something like _DrawWith = "Me" would be good. > > > > If i copy the class into gb.form source folder and compile it then works > > all as expected. > > > > The 2 attached snapshots is what i refer to. one shows the control as a > > class but in the normal gambas, te other where i've added the control to > > gb.form. > > > > Is there nothing can be done to get the custom controls visible? > > i've had to make a branch and have a custom gb.form to work with and keep > > installing/reinstalling just to get the control useable (in the IDE). > > the control works and shows fine when i launch the app, it's just the IDE > > won't play ball :(. > > > > Thanks for any pointers if i'm missing something. > > > > BruceS > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > I doubt it. We had a go some years back and it proved to be not worth > the effort. The way the Form Designer handles DrawWith I now cannot > recall. Most times we just use the nearest enclosure box to give some > idea as to the custome control content. YMMV but giventhe "elasticity" > of the form designer vs the form as displayed at runtime I found more > value in getting the control's "working code" right rather then how it > looks in the form designer. > Darn it. i may have to delve into the _DrawWith code myself and see if i can have any revelations. can't help but think there must be a way... Had a hunt through the code ... Seems to run through CDocumentation.class and CComponent.class, i guess hardcoded to use the default dirs in /usr and not get all the info from project dir (just the icon). this is worth more investigation/study i think. would be a certain upgrade with gambas if the IDE could get DrawWith info from the project dir and render custom controls properly as you create them. I'm thinking along the lines of being able to set _DrawWith = "TickBox" for my TickBox.class and the IDE finding TickBox in the project dir and work from there. (much like it does with _Properties Const string) Thinking is one thing though ,, doing is going to be a challenge that I foresee a day or 2 disappearing for me lol Thanks for the info bruce :) Nonetheleless it's good to see someone else that wants a left labelled > checkbox. We also have a left labelled radiobutton. I don't know how or > why the idea of right labelling these things became a "design standard" > but ISMTT! (Work that one out by yourself). > to be fair it was somebody else's suggestion on here "a good place to start is make a checkbox with left handed text" seemed a fair suggestion and a good point that checkboxes only put text on one side. then i took a shine to the idea of also being able to use any custom or stock image for the check. Just would be nice to see it in the ide without having to integrate it into gb.form I made a new component gb.form.bonus in /comp and installed it but that didn't work with DrawWith either, only option i got is gb.form it seems. Benoit , any views / interest in getting this feature working, or is it like many of my other thoughts that would be a simple change that turn out to actually be a hugely complicated change? Would be a boost in the custom control creation department i think. Many thanks Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sat Feb 20 17:37:24 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 20 Feb 2021 17:37:24 +0100 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: References: Message-ID: Le 20/02/2021 ? 15:03, Bruce Steers a ?crit?: > > > On Sat, 20 Feb 2021 at 06:42, Bruce > wrote: > > On 20/2/21 3:13 pm, Bruce Steers wrote: > > I'm chugging away chewing on making a custom control. > > > > I call it Tickbox > > It's a CheckBox but uses a picture for the tick and can set text > to left or > > right. > > > > My discovery though that's a bit naff... > > Unless i add the control to gb.form and compile it in it's not > very good to > > use. > > > > I'm sure you know what i mean. > > _DrawWith works great for a copy of an existing control in > displaying it > > but not a new one. > > > > something like _DrawWith = "Me" would be good. > > > > If i copy the class into gb.form source folder and compile it > then works > > all as expected. > > > > The 2 attached snapshots is what i refer to. one shows the > control as a > > class but in the normal gambas, te other where i've added the > control to > > gb.form. > > > > Is there nothing can be done to get the custom controls visible? > > i've had to make a branch and have a custom gb.form to work with > and keep > > installing/reinstalling just to get the control useable (in the IDE). > > the control works and shows fine when i launch the app, it's just > the IDE > > won't play ball :(. > > > > Thanks for any pointers if i'm missing something. > > > > BruceS > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > I doubt it. We had a go some years back and it proved to be not worth > the effort. The way the Form Designer handles DrawWith I now cannot > recall. Most times we just use the nearest enclosure box to give some > idea as to the custome control content. YMMV but giventhe "elasticity" > of the form designer vs the form as displayed at runtime I found more > value in getting the control's "working code" right rather then how it > looks in the form designer. > > Darn it. > i may have to delve into the _DrawWith code myself and see if i can have > any revelations. > can't help but think there must be a way... > Had a hunt through the code ... > Seems to run through CDocumentation.class and CComponent.class, i guess > hardcoded to use the default dirs in /usr and not get all the info from > project dir (just the icon). > this is worth more investigation/study i think. would be a certain > upgrade with gambas if the IDE could get DrawWith info from the project > dir and render custom controls properly as you create them. > I'm thinking along the lines of being able to set _DrawWith = "TickBox" > for my TickBox.class and the IDE finding TickBox in the project dir and > work from there. (much like it does with _Properties Const string) > > Thinking is one thing though ,, doing is going to be a challenge that I > foresee a day or 2 disappearing for me lol > Thanks for the info bruce :) > > > Nonetheleless it's good to see someone else that wants a left labelled > checkbox. We also have a left labelled radiobutton. I don't know how or > why the idea of right labelling these things became a "design standard" > but ISMTT! (Work that one out by yourself). > > > to be fair it was somebody else's suggestion on here "a good place to > start is make a checkbox with left handed text" > seemed a fair suggestion and a good point that checkboxes only put text > on one side. > then i took a shine to the idea of also being able to use any custom or > stock image for the check. > > Just would be nice to see it in the ide without having to integrate it > into gb.form > I made a new component gb.form.bonus in /comp and installed it but that > didn't work with DrawWith either, only option i got is gb.form it seems. > > Benoit , any views / interest in getting this feature working, or is it > like many of my other thoughts that would be a simple change that turn > out to actually be a hugely complicated change? > Would be a boost in the custom control creation department i think. > > Many thanks > Wishing well > BruceS > > The IDE will not render custom controls as is, because it won't load their component. The "_DrawWith" constant allows you to use a similar control that must exist in one the component loaded by the IDE (gb.form). Otherwise let the IDE draw the custom control with its icon inside a frame. Regards, -- Beno?t Minisini From chrisml at deganius.de Sat Feb 20 21:13:28 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 20 Feb 2021 21:13:28 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: References: Message-ID: <905ca520-caa9-38b7-ff23-a1ae452cc190@deganius.de> Am 20.02.21 um 12:27 schrieb KKing: > Thankyou @Christof > > I shall take a look, do I just import the class file(s) into my > project(s) to make use of? No, it's a component. You have to create an installation package from it, then install it on your computer, on a Debian based system like so: $ (sudo) dpkg -i gambas3-gb-deg-form_3.10.42-1_all.deb After that you will have two new controls available. Please look at the picture. Alles Gute Christof Thalhofer -- [x] nail here for new monitor -------------- next part -------------- A non-text attachment was scrubbed... Name: deg-form.png Type: image/png Size: 5973 bytes Desc: not available URL: From chrisml at deganius.de Sat Feb 20 21:38:01 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 20 Feb 2021 21:38:01 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: References: <85e33536-48ed-3d6d-392b-203dd1b58847@deganius.de> Message-ID: Am 20.02.21 um 13:43 schrieb Gianluigi: > can you satisfy my curiosity, > what changes compared to DataComboView (gb.db.form)? I just played around with gb.db.form for a short time, I really don't know it. My combobox is unbound, it has no connection to a database. But it can be filled with an array or a result to display and manipulate the data. The programmer has to store the altered data back to the database "by hand". Further on it can be filled with an object of a class called "DegOrm", which is my own database ORM* which maps database tables to Gambas objects. I think it's an equivalent of what gb.db.form does. I was too lazy to try to understand gb.db.form and was so crazy to write these things for myself. The combobox can display multiple columns. * I would like to give these things (libraries I wrote) to the public but for me this only makes sense if Gambas had namespaces so that it can be accessed in a way like this: 'Dim orm as de.deganius.Orm' Alles Gute Christof Thalhofer -- [x] nail here for new monitor From bsteers4 at gmail.com Sat Feb 20 21:38:14 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 Feb 2021 20:38:14 +0000 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: References: Message-ID: On Sat, 20 Feb 2021 at 16:38, Beno?t Minisini wrote: > Le 20/02/2021 ? 15:03, Bruce Steers a ?crit : > > > > > > On Sat, 20 Feb 2021 at 06:42, Bruce > > wrote: > > > > On 20/2/21 3:13 pm, Bruce Steers wrote: > > > I'm chugging away chewing on making a custom control. > > > My discovery though that's a bit naff... > > > Unless i add the control to gb.form and compile it in it's not > > very good to > > > use. > > > > > > I'm sure you know what i mean. > > > _DrawWith works great for a copy of an existing control in > > displaying it > > > but not a new one. > > > > > > something like _DrawWith = "Me" would be good. > > > > > > Many thanks > > Wishing well > > BruceS > > > > > > The IDE will not render custom controls as is, because it won't load > their component. The "_DrawWith" constant allows you to use a similar > control that must exist in one the component loaded by the IDE > (gb.form). Otherwise let the IDE draw the custom control with its icon > inside a frame. > > Regards, > > -- > Beno?t Minisini > darn it , lol , okay thank you Ben. So best i can think of for testing is i have my local branch source dir for modifying new controls. I load gb.form from that into gambas and edit my controls. then I have made a small bash script that runs from the "run command after" option that just copies the freshly made gb.form.gambas to /usr/lib/gambas3/ and copies the .info file as /usr/share/gambas3/info/ gb.form.info That will do me I guess if just copying those 2 files (plus the control icon) is all i need. (it seemed to work) Will suffice as a temporary measure for testing/building a component. Thanks anyway :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Feb 20 21:47:02 2021 From: adamnt42 at gmail.com (Bruce) Date: Sun, 21 Feb 2021 07:17:02 +1030 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: References: Message-ID: <49759fd0-e0de-89ac-2073-7e42337d43ae@gmail.com> On 21/2/21 7:08 am, Bruce Steers wrote: 8< > > darn it , lol , okay thank you Ben. > > So best i can think of for testing is i have my local branch source dir for > modifying new controls. > I load gb.form from that into gambas and edit my controls. > then I have made a small bash script that runs from the "run command after" > option that just copies the freshly made gb.form.gambas to > /usr/lib/gambas3/ and copies the .info file as /usr/share/gambas3/info/ > gb.form.info > > That will do me I guess if just copying those 2 files (plus the control > icon) is all i need. (it seemed to work) > > Will suffice as a temporary measure for testing/building a component. > > Thanks anyway :) > BruceS > ????? I don't understand the need for all this walk araund? I just put a test harness form in the custom control project, set it as the startup classand run it. Or am I missing something? b From bsteers4 at gmail.com Sat Feb 20 22:19:40 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 Feb 2021 21:19:40 +0000 Subject: [Gambas-user] _DrawWith Me ? trying to view custom controls in the IDE In-Reply-To: <49759fd0-e0de-89ac-2073-7e42337d43ae@gmail.com> References: <49759fd0-e0de-89ac-2073-7e42337d43ae@gmail.com> Message-ID: On Sat, 20 Feb 2021 at 20:48, Bruce wrote: > On 21/2/21 7:08 am, Bruce Steers wrote: > 8< > > > > darn it , lol , okay thank you Ben. > > > > So best i can think of for testing is i have my local branch source dir > for > > modifying new controls. > > I load gb.form from that into gambas and edit my controls. > > then I have made a small bash script that runs from the "run command > after" > > option that just copies the freshly made gb.form.gambas to > > /usr/lib/gambas3/ and copies the .info file as /usr/share/gambas3/info/ > > gb.form.info > > > > That will do me I guess if just copying those 2 files (plus the control > > icon) is all i need. (it seemed to work) > > > > Will suffice as a temporary measure for testing/building a component. > > > > Thanks anyway :) > > BruceS > > > > ????? I don't understand the need for all this walk araund? > I just put a test harness form in the custom control project, set it as > the startup classand run it. > Or am I missing something? > b > I don't think you're missing something i thing you have somethng i do not , a better understanding of gambas component building. The 2 pictures in my original post show how if i install the component into gb.form then when i add it in my project the IDE shows the control correct. text left or right, Set text is displayed and Set pictures are displayed. If i just make a test form and add a class without adding the control to gb.form then all it shows is a box with the control icon (from control dir) and the control Name. I've noticed the control looks a bit different in the IDE than when run. for developing a control I thought it would be good to see how it also looks in the IDE as well as at runtime. you obviously really know what you are doing when it comes to making controls, it's all a bit baby steps for me, the more visual aids i have the better ;) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From karl.reinl at fen-net.de Sun Feb 21 00:13:16 2021 From: karl.reinl at fen-net.de (Karl Reinl) Date: Sun, 21 Feb 2021 00:13:16 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <905ca520-caa9-38b7-ff23-a1ae452cc190@deganius.de> References: <905ca520-caa9-38b7-ff23-a1ae452cc190@deganius.de> Message-ID: <27df94243fd42ea8ff3cf8d0b8db3d90ea810c13.camel@fen-net.de> Am Samstag, den 20.02.2021, 21:13 +0100 schrieb Christof Thalhofer: > Am 20.02.21 um 12:27 schrieb KKing: > > > Thankyou @Christof > > > > I shall take a look, do I just import the class file(s) into my > > project(s) to make use of? > > No, it's a component. You have to create an installation package from > it, then install it on your computer, on a Deborian based system like > so: > > $ (sudo) dpkg -i gambas3-gb-deg-form_3.10.42-1_all.deb > > After that you will have two new controls available. Please look at > the > picture. > > Alles Gute > > Christof Thalhofer > Salut, you can also install this or every other gambas3 component or library with 'instGA3' from the Software-Farm/Development without creating an installation package, but you have to compile it first. -- Amicalement Charlie From bsteers4 at gmail.com Sun Feb 21 05:13:11 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 21 Feb 2021 04:13:11 +0000 Subject: [Gambas-user] TextHighlighting commit Message-ID: Hi Ben. Is the recent change you made to texthiglighting supposed to break the way a line gets formatted/highlighted when you move the cursor to another line? no worries if yes , perhaps it's working as you want it to. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Sun Feb 21 08:34:34 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 21 Feb 2021 08:34:34 +0100 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: Message-ID: Le 21/02/2021 ? 05:13, Bruce Steers a ?crit?: > Hi Ben. > > Is the recent change you made to texthiglighting supposed to break the > way a line gets formatted/highlighted when you move the cursor to > another line? > > no worries if yes , perhaps it's working as you want it to. > > BruceS > No, it should highlight like before. Otherwise it's a bug. -- Beno?t Minisini From kicking177 at gmail.com Sun Feb 21 10:38:45 2021 From: kicking177 at gmail.com (KKing) Date: Sun, 21 Feb 2021 09:38:45 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: <2d761454-145d-d425-6c08-ca6a7cc403ce@gmail.com> > No, it's a component. You have to create an installation package from > it, then install it on your computer, on a Debian based system like so: So do I have to load it in Gambas and compile it ? then create the deb off that?? If I try to load in 3.15.2 on Bullseye (Alpha 3+) with LXQT it says > Some components are missing: gb.qt4 Should it convert to qt5 nicely? Or am I better trying to understand the code and refactor myself? From bagonergi at gmail.com Sun Feb 21 12:00:25 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 21 Feb 2021 12:00:25 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <2d761454-145d-d425-6c08-ca6a7cc403ce@gmail.com> References: <2d761454-145d-d425-6c08-ca6a7cc403ce@gmail.com> Message-ID: Il giorno dom 21 feb 2021 alle ore 10:39 KKing ha scritto: > > Should it convert to qt5 nicely? Or am I better trying to understand the > code and refactor myself? > > You can do it yourself. Unzip the gb.deg.form-master project you open it with the Gambas IDE which will inform you that some components are missing you must continue then go to Project> Properties and check gb.gui.qt and save Now the project should work, if on test you click on the various Fm... tests and make them Startup class you will be able to see how the component works. Attention: In FmComboBox3 line 30 is missing the y a Only of cbox.ListItemsOnly = True, add it. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Feb 21 13:20:01 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 21 Feb 2021 12:20:01 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: Message-ID: Do you want it on the bugtracker or you okay with this email? All the best :) On Sun, 21 Feb 2021 at 07:35, Beno?t Minisini wrote: > Le 21/02/2021 ? 05:13, Bruce Steers a ?crit : > > Hi Ben. > > > > Is the recent change you made to texthiglighting supposed to break the > > way a line gets formatted/highlighted when you move the cursor to > > another line? > > > > no worries if yes , perhaps it's working as you want it to. > > > > BruceS > > > > No, it should highlight like before. Otherwise it's a bug. > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Sun Feb 21 13:24:45 2021 From: kicking177 at gmail.com (KKing) Date: Sun, 21 Feb 2021 12:24:45 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: <10801f9b-e6ec-742e-b7fc-6519f965acad@gmail.com> ?Thankyou @Gianluigi ?The tests seem to run fine within the IDE ?I then took option to create (Debian) package ... wonder if I missed a step?? It created the following > gambas3-gb-deg-form_3.10.42.orig.tar.gz > gambas3-gb-deg-form_3.10.42-1.diff.gz > gambas3-gb-deg-form_3.10.42-1.dsc > gambas3-gb-deg-form_3.10.42-1_all.deb > gambas3-gb-deg-form_3.10.42-1_amd64.buildinfo > gambas3-gb-deg-form_3.10.42-1_amd64.changes > gambas3-gb-deg-form-qt4_3.10.42-1.tar.gz > gambas3-gb-deg-form-qt4_3.10.42-1.dsc > gambas3-gb-deg-form-qt4_3.10.42-1_all.deb > gambas3-gb-deg-form-qt4_3.10.42-1_amd64.buildinfo > gambas3-gb-deg-form-qt4_3.10.42-1_amd64.changes > gambas3-gb-deg-form-qt5_3.10.42-1.tar.gz > gambas3-gb-deg-form-qt5_3.10.42-1.dsc > gambas3-gb-deg-form-qt5_3.10.42-1_all.deb > gambas3-gb-deg-form-qt5_3.10.42-1_amd64.buildinfo > gambas3-gb-deg-form-qt5_3.10.42-1_amd64.changes > gb.deg.form But if I do > sudo dpkg -i gambas3-gb-deg-form_3.10.42-1_all.deb I get > Selecting previously unselected package gambas3-gb-deg-form. > (Reading database ... 317537 files and directories currently installed.) > Preparing to unpack gambas3-gb-deg-form_3.10.42-1_all.deb ... > Unpacking gambas3-gb-deg-form (3.10.42-1) ... > dpkg: dependency problems prevent configuration of gambas3-gb-deg-form: > ?gambas3-gb-deg-form depends on gambas3-gb-qt4 (>= 3.9); however: > ? Package gambas3-gb-qt4 is not installed. > ?gambas3-gb-deg-form depends on gambas3-gb-qt4 (<< 3.99.0); however: > ? Package gambas3-gb-qt4 is not installed. > > dpkg: error processing package gambas3-gb-deg-form (--install): > ?dependency problems - leaving unconfigured > Errors were encountered while processing: > ?gambas3-gb-deg-form From bagonergi at gmail.com Sun Feb 21 14:02:13 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 21 Feb 2021 14:02:13 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <10801f9b-e6ec-742e-b7fc-6519f965acad@gmail.com> References: <10801f9b-e6ec-742e-b7fc-6519f965acad@gmail.com> Message-ID: Il giorno dom 21 feb 2021 alle ore 13:25 KKing ha scritto: > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sun Feb 21 14:05:44 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 21 Feb 2021 14:05:44 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <10801f9b-e6ec-742e-b7fc-6519f965acad@gmail.com> References: <10801f9b-e6ec-742e-b7fc-6519f965acad@gmail.com> Message-ID: Il giorno dom 21 feb 2021 alle ore 13:25 KKing ha scritto: > Thankyou @Gianluigi > > The tests seem to run fine within the IDE > ... > but what distribution do you have? Have you created the installation package for your distribution? Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Sun Feb 21 14:21:31 2021 From: kicking177 at gmail.com (KKing) Date: Sun, 21 Feb 2021 13:21:31 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: > but what distribution do you have? Debian Bullseye Alpha 3 with LXQT > Have you created the installation package for your distribution? urm ... I selected Debian .... From bagonergi at gmail.com Sun Feb 21 14:38:23 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 21 Feb 2021 14:38:23 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: References: Message-ID: Il giorno dom 21 feb 2021 alle ore 14:22 KKing ha scritto: > > but what distribution do you have? > Debian Bullseye Alpha 3 with LXQT > > > Have you created the installation package for your distribution? > urm ... I selected Debian .... > OK you saved all 16 packages in the same directory and then opened the terminal in the directory and issued the command, right? Try installing gambas3-gb-deg-form-master-qt5_3.10.42-1_all.deb or to avoid possible conflicts redo the package by increasing the version to 43 and then try to install as mentioned. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Sun Feb 21 15:00:38 2021 From: kicking177 at gmail.com (KKing) Date: Sun, 21 Feb 2021 14:00:38 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: <8e76afe4-d984-ded1-5302-a49b48879f01@gmail.com> > you saved all 16 packages in the same directory and then opened the > terminal in the directory and issued the command, right? yes > Try installing gambas3-gb-deg-form-master-qt5_3.10.42-1_all.deb There is no gambas3-gb-deg-form-master-qt5_3.10.42-1_all.deb But I did try > sudo dpkg -i gambas3-gb-deg-form-qt5_3.10.42-1_all.deb but got > Selecting previously unselected package gambas3-gb-deg-form-qt5. > (Reading database ... 317611 files and directories currently installed.) > Preparing to unpack gambas3-gb-deg-form-qt5_3.10.42-1_all.deb ... > Unpacking gambas3-gb-deg-form-qt5 (3.10.42-1) ... > dpkg: dependency problems prevent configuration of gambas3-gb-deg-form-qt5: > gambas3-gb-deg-form-qt5 depends on gambas3-gb-deg-form (>= 3.10.42-1); however: > Package gambas3-gb-deg-form is not installed. > gambas3-gb-deg-form-qt5 depends on gambas3-gb-deg-form (<= 3.10.42-1); however: > Package gambas3-gb-deg-form is not installed. > > dpkg: error processing package gambas3-gb-deg-form-qt5 (--install): > dependency problems - leaving unconfigured > Errors were encountered while processing: > gambas3-gb-deg-form-qt5 -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Sun Feb 21 15:35:10 2021 From: bagonergi at gmail.com (Gianluigi) Date: Sun, 21 Feb 2021 15:35:10 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: <8e76afe4-d984-ded1-5302-a49b48879f01@gmail.com> References: <8e76afe4-d984-ded1-5302-a49b48879f01@gmail.com> Message-ID: Il giorno dom 21 feb 2021 alle ore 15:01 KKing ha scritto: > dpkg: error processing package gambas3-gb-deg-form-qt5 (--install): > dependency problems - leaving unconfigured > Errors were encountered while processing: > gambas3-gb-deg-form-qt5 > > Let's try to do everything from scratch again. In your home create a folder named deganius. Open the gb.deg.for-master project In Project> Properties> Components, uncheck gb.gui.qt and put it on gb.qt5 and gb.qt5.ext Then from Project> Build All, if you don't get any errors, go back to Properties and increase the version by one. Create the installation package making sure that only Debian is checked and save it in the deganius folder without affecting any page of the wisiwing window. Check that at the end it tells you that the packages have been created correctly. good luck Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From mckaygerhard at gmail.com Sun Feb 21 16:48:28 2021 From: mckaygerhard at gmail.com (PICCORO McKAY Lenz) Date: Sun, 21 Feb 2021 11:48:28 -0400 Subject: [Gambas-user] ODBC - unable to fetch row In-Reply-To: References: <7ff01662-ec2e-e830-5a0d-886f5cd5730f@gmail.com> Message-ID: hey zxMarce any new about odbc working? El vie, 22 de ene. de 2021 a la(s) 22:17, escribi?: > (hope I'm replying to the right address, and sorry for top-posting: > writing from phone) > > I did download at home Northwind.Mdb, MS's test Access database, and -sure > enough- got the same issue. > Now, thanks to the pandemic, my dev machine is not easily reachable for me > as it is at the office. > > I will try to make some time as soon as possible to get a dev environment > and check why MDB data fetch fails. If I do get to the actual issue, I'll > try to fix it, but can't really promise anything. > > I got to fix Firebird in the past, but this sounds a little trickier. > > Regards, > zxMarce. > On Jan 22, 2021, at 11:18, "Beno?t Minisini" wrote: >> >> Le 22/01/2021 ? 15:13, KKing a ?crit : >> >>> So my original issue may be related to mdbtools and debian in that most >>> doco suggests the odbc.ini Driver setting should relate to the section >>> name in /etc/odbcinst.ini in Debian mdbtools standard install would be >>> [MDBTools] but this fails with isql and only works if the odbc.ini >>> Driver setting points to the actual driver file in >>> /usr/lib/..../libmdbodbc.so >>> I am guessing the Gambas odbc component is not coping with this... will >>> try to look into the gb.db.odbc code. >>> >>> But I also have a another odbc question. While trying to test out if it >>> is more mdbtools and or debian I have setup a test to point to a sqlite >>> db via odbc (yes I know gambas can go direct) >>> isql select * from sampleTable returns 1,000 records ... but the >>> following Gambas code only returns the first record? >>> >>>> Dim $con As New Connection >>>> Dim intCount As Integer >>>> Dim rs As Result >>>> Dim $ExecCmd As String >>>> >>>> Try $con.Close() >>>> $con.Type = "odbc" >>>> $con.Host = "mysqlitedb" >>>> $con.Open() >>>> >>>> $ExecCmd = "SELECT * FROM sampleTable " >>>> >>>> rs = $con.Exec($ExecCmd) >>>> >>>> intCount = rs.Count >>>> >>>> While (rs.Available) >>>> Print "s_seq:" & rs!s_seq >>>> rs.MoveNext >>>> Wend >>> >>> >>> >>> >> It's hard for me to help, as I don't know ODBC and didn't write the driver. >> >> But I know that the ODBC driver exposes many ways of browsing the result >> of a query, and I guess the failure is related to that. Maybe failing to >> use the accurate request browsing method, and/or detecting the end of >> the query result list... ? >> >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sun Feb 21 17:22:03 2021 From: chrisml at deganius.de (Christof Thalhofer) Date: Sun, 21 Feb 2021 17:22:03 +0100 Subject: [Gambas-user] bespoke ComboBox In-Reply-To: References: <8e76afe4-d984-ded1-5302-a49b48879f01@gmail.com> Message-ID: Am 21.02.21 um 15:35 schrieb Gianluigi: > good luck Oh, sorry that you have problems with it, because of qt4. It's made for my firm and the software there runs only with qt4. I would suggest forking it at Gitlab, then you can modify it as you want. Alles Gute Christof Thalhofer -- [x] nail here for new monitor From kicking177 at gmail.com Sun Feb 21 17:57:26 2021 From: kicking177 at gmail.com (KKing) Date: Sun, 21 Feb 2021 16:57:26 +0000 Subject: [Gambas-user] bespoke ComboBox Message-ID: <795a4348-4a96-4e0d-875b-b51cde0fe615@gmail.com> Hi @Gianluigi tried that ... it only seemed to create the one deb package ?? gambas3-gb-deg-form_3.10.43-1_all.deb but trying to install that resulted in same qt4 dependency issue error Thankyou @Christof > Oh, sorry that you have problems with it, because of qt4. It's made for > my firm and the software there runs only with qt4. > > I would suggest forking it at Gitlab, then you can modify it as you want. > Will look into that. From g4mba5 at gmail.com Sun Feb 21 19:06:44 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 21 Feb 2021 19:06:44 +0100 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: Message-ID: Le 21/02/2021 ? 13:20, Bruce Steers a ?crit?: > Do you want it on the bugtracker or you okay with this email? > > All the best :) > When the bug is on the last development commit, you can just yell on the mailing-list, it's fine. Anyway I need the detail: which file, doing what, eventually a little movie if it is faster for you than written the explanation in english. Regards, -- Beno?t Minisini From bsteers4 at gmail.com Sun Feb 21 19:44:56 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 21 Feb 2021 18:44:56 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: Message-ID: On Sun, 21 Feb 2021, 18:07 Beno?t Minisini, wrote: > Le 21/02/2021 ? 13:20, Bruce Steers a ?crit : > > Do you want it on the bugtracker or you okay with this email? > > > > All the best :) > > > > When the bug is on the last development commit, you can just yell on the > mailing-list, it's fine. > > Anyway I need the detail: which file, doing what, eventually a little > movie if it is faster for you than written the explanation in english. > No worries, thank you. I'm at work till midnight so will explain quick for now. Not so much A file but all files in Gambas IDE texteditor has stopped rendering highlights or formatting the line when only using cursor to move off a line. It highlights with various conditions scrolling, selecting text. (Do not remember if keypress updated it) On linux-mint 20 Hope that explains it. Let me know if you need more info but wont be till later tonight. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 22 00:56:27 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 22 Feb 2021 00:56:27 +0100 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: Message-ID: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Le 21/02/2021 ? 19:44, Bruce Steers a ?crit?: > > Not so much A file but all files in Gambas IDE texteditor has stopped > rendering highlights or formatting the line when only using cursor to > move off a line. > ... Is it better with the last commit? -- Beno?t Minisini From bsteers4 at gmail.com Mon Feb 22 02:41:28 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 01:41:28 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: No my friend sorry it is still the same. On Sun, 21 Feb 2021 at 23:57, Beno?t Minisini wrote: > Le 21/02/2021 ? 19:44, Bruce Steers a ?crit : > > > > Not so much A file but all files in Gambas IDE texteditor has stopped > > rendering highlights or formatting the line when only using cursor to > > move off a line. > > ... > > > Is it better with the last commit? > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Mon Feb 22 10:21:37 2021 From: mbelmonte at belmotek.net (Martin) Date: Mon, 22 Feb 2021 10:21:37 +0100 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> Message-ID: <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> In my opinion, software developers should not restrict the freedoms of others, that is where the "open" concept comes in, but then to prevent someone from taking over the software and "closing" it, the concept of "free" (GPL) appears, which ensures that the software and all its derivatives are always free. Open software does not ensure your freedom whereas free software (GPL) does. If, for example, you develop a program for a few years and license it with BSD and then if a company takes the code and improves it and distributes the binary program, you will never see those improvements because the company is not obliged to publish the improved source code. On the other hand, if you use GPL everything that a company (or others developpers) improves on a free code and distributes the binary, it is legally obliged to distribute the source code also with the same freedoms. Regards Mart?n El 19/2/21 a las 11:19, Gianluigi escribi?: > > > Il giorno ven 19 feb 2021 alle ore 11:01 Martin > > ha scritto: > > I believe that software is the result of a collective creation, > but even the lonely programmer (most of us), to learn, needs to > study other programs, so it could be said that there is no such > thing as an isolated programmer. Maybe Alan Turing? > > Free software is a world heritage site, it is like cooking > recipes, fire, agriculture, the wheel or the library of Alexandria. > > That the software is free as in freedom makes the world better, in > Spanish there are two different words for what is free as in > freedom (LIBRE) and what is free as open bar (GRATIS), but in > English it is a little bit confusing. > > If we base our business model on restricting the freedom of > others, I think we would be making a mistake, I think we would be > being selfish. > > If we start talking only about the OPENING of free software and > not about FREEDOM, I think that again we are making another mistake. > > I say thanks to Benoit and all those who made and make GAMBAS > possible and offer it to everyone to use it and also to study it > (it is not a minor data) and modify it. > > I say tanks to all that share your own creations as Software LIBRE > it is very important. > > > This distinction also exists in English, open and free, and seems that > it is one man of this lang that created the GPL. > > If you come to my pastry shop to buy an GPL cake, in addition to the > cake, you also get the recipe. > > If you buy the cake that the manufacturer gave me free, I only sell > you the cake. > > On the basic moral concepts I think agree with you. > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Mon Feb 22 11:58:39 2021 From: adamnt42 at gmail.com (Bruce) Date: Mon, 22 Feb 2021 21:28:39 +1030 Subject: [Gambas-user] "Proxy" for any class In-Reply-To: <5a55a696-0925-34f2-7fb2-9c75750eb2df@gmail.com> References: <5a55a696-0925-34f2-7fb2-9c75750eb2df@gmail.com> Message-ID: <6526c210-5429-e785-594c-a375f74ae9ac@gmail.com> On 25/11/18 2:49 pm, Bruce wrote: > Is there a way for any normal class to declare a "Proxy" for itself like > UI classes can? > > I have a heirachical set of classes, each of which has an event > "UIMessage" the intent of which is to pass status messages back up the > chain.? At the moment I have to re-raise events from lower level classes > as this levels own "UIMessage". > > This is based on the wiki statement "When a control has a proxy, it will > duplicate all mouse and keyboard events of the proxy for itself. I.e., > if the proxy raises a KeyPress event, then the control will raise it too." > > tia > Bruce (Found this now I have text-to-speech working on tmy mail!) The simplest way I found to achieve this is via a Module.It can be as simple or complex as you wish but needs methods to add messages, status codes etc. Then evryone up and down the call chain can see or use the messages as tehy will. For example to raise a message MMsgChain.Add("some text") regards bruce (via Joanne) From bagonergi at gmail.com Mon Feb 22 13:50:30 2021 From: bagonergi at gmail.com (Gianluigi) Date: Mon, 22 Feb 2021 13:50:30 +0100 Subject: [Gambas-user] Free as in freedom In-Reply-To: <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: Il giorno lun 22 feb 2021 alle ore 10:29 Martin ha scritto: > In my opinion, software developers should not restrict the freedoms of > others, that is where the "open" concept comes in, but then to prevent > someone from taking over the software and "closing" it, the concept of > "free" (GPL) appears, which ensures that the software and all its > derivatives are always free. > Open software does not ensure your freedom whereas free software (GPL) > does. > If, for example, you develop a program for a few years and license it with > BSD and then if a company takes the code and improves it and distributes > the binary program, you will never see those improvements because the > company is not obliged to publish the improved source code. > On the other hand, if you use GPL everything that a company (or others > developpers) improves on a free code and distributes the binary, it is > legally obliged to distribute the source code also with the same freedoms. > I totally agree with you, if you create GPL software you are guaranteed against future closures and you get all the benefits from it and nobody forbids you to sell it under various forms of assistance. But perhaps this discussion takes place on two different levels, hence the confusion. The basic question is: can you create closed software with Gambas3? I am too ignorant to answer and only say my idea that it is no for the reasons set out previously. And I also say no from a moral point of view, because whoever helped me understand the various aspects of Gambas is right to see how I put them to good(?) use. The same not goes for those who create Gambas, they have all the rights to produce closed software, having already put their knowledge available to others. I repeat that these are just my ideas and that everyone has the right to believe and behave as he wants. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocoquet at 3d-phenomen.fr Mon Feb 22 14:03:51 2021 From: ocoquet at 3d-phenomen.fr (Olivier COQUET) Date: Mon, 22 Feb 2021 14:03:51 +0100 Subject: [Gambas-user] Opensource for parts of my devs Message-ID: <01fcd6d5-0355-7303-48dd-49d06c16a7d2@3d-phenomen.fr> Hello everyone, Sorry I didn't answer but my mail server was hacked in the middle of a discussion and I had to work on it all weekend to get it up and running again. To make a long story short, I'm working on the development of a home automation system for individuals that is reliable and accessible. The whole system is developed in Gambas 3.15, the software part will be marketed with an electronic part and a cosmetic part. Of course, the individual elements will be distributed for free, as it is already the case for the embedded http server, the plugin system, and, soon, an RXB6 library that will allow from Gambas Basic to receive and transmit on the 433.92 mhz frequency. By the way, I notice some confusion between the terms "FREE" (public domain in French) and GPL. The GPL is not necessarily free and is especially not in the public domain, the broadcasting in public domain is indeed free but implies the abandonment of intellectual property, the GPL, on the other hand, preserves intellectual property. In addition, code generated from a software in gpl license can be distributed as we want as soon as it does not incorporate parts of gpl code modified or not. The fact of relying on a compiler or GPL libraries does not constitute an inclusion of code insofar as the libraries and the compiler are an intrinsic part of the original creation software, on the other hand if your code is based on such libraries, you are prohibited from distributing them, and the user is responsible for finding and installing them by himself. Finally, the GPL library implies the diffusion of the licensed source code to users. In the case of a paid software, only users who have acquired the rights to use it must receive the sources, which does not imply a diffusion to people who have not purchased the software. Friendship to all Olivier Coquet Translated with www.DeepL.com/Translator (free version) From mbelmonte at belmotek.net Mon Feb 22 16:52:48 2021 From: mbelmonte at belmotek.net (Martin) Date: Mon, 22 Feb 2021 16:52:48 +0100 Subject: [Gambas-user] Opensource for parts of my devs In-Reply-To: <01fcd6d5-0355-7303-48dd-49d06c16a7d2@3d-phenomen.fr> References: <01fcd6d5-0355-7303-48dd-49d06c16a7d2@3d-phenomen.fr> Message-ID: Hi Olivier. First of all congratulations for making a home automation program with Gambas, I have not seen the code yet but if you release it with GPL I will study it with pleasure.I would like to ask you some questions and clarify something you have written. My intention is to learn what business model you use because I am also in a similar situation in my case, my program is to generate industrial automation engineering documentation > The whole system is developed in Gambas 3.15, the software part will > be marketed with an electronic part and a cosmetic part. What license will your software have? > Of course, the individual elements will be distributed for free What is an individual item? If it is software, what license will it have? The plgins for the "whole system" license program will they have? > By the way, I notice some confusion between the terms "FREE" (public > domain in French) and GPL No confusion: FREE Software: Is free as in freedom software GPL, it does not refer to the price of the software, it refers to the rights that users of such software have. GPL implies that the software is not closed and everyone can see the source code. OPEN Softare: It implies that the software is not closed but it does not imply your freedom over the program. CLOSED Software: You can only use the program, do not see or study the code, do not modify the code, do not distribute the code, etc. etc. Regards. Mart?n -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 22 17:23:44 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 16:23:44 +0000 Subject: [Gambas-user] Custom controls in gambas IDE Message-ID: Ben , do you like or hate the idea of this? I've added a "Custom Controls" part to Preferences. Controls added to list get loaded when gambas loads so they show correct in IDE. Should I stop or do you think may be a nice addition? Here is a movie of it working.. http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 it is WIP still. (need to make it copy the ProjectDir/.info file to ProjectDir/.hidden/info/classname.info to make it work properly yet) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 22 17:28:17 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 16:28:17 +0000 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: References: Message-ID: Branch is here to see changes i made... https://gitlab.com/bsteers4/gambas/-/tree/custom-controls BruceS On Mon, 22 Feb 2021 at 16:23, Bruce Steers wrote: > > Ben , do you like or hate the idea of this? > I've added a "Custom Controls" part to Preferences. > > Controls added to list get loaded when gambas loads so they show correct > in IDE. > > Should I stop or do you think may be a nice addition? > > Here is a movie of it working.. > http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 > > it is WIP still. (need to make it copy the ProjectDir/.info file to > ProjectDir/.hidden/info/classname.info to make it work properly yet) > > Respects > BruceS > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 22 18:53:48 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 17:53:48 +0000 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: References: Message-ID: It now copies custom controls .info to projects info dir as mentioned. It is maybe too much to add it to preferences? Possibly it is better more hidden as an Env variable could be set for to make gambas load the component into itself on load? like. Env GB_LOAD_IN_IDE="/path/to/projectdir/MyComponent.gambas" gambas3 something like that? I want this so i will merge it to my branch i think as custom controls is my new playground :) Any thoughts appreciated. All the best BruceS On Mon, 22 Feb 2021 at 16:23, Bruce Steers wrote: > > Ben , do you like or hate the idea of this? > I've added a "Custom Controls" part to Preferences. > > Controls added to list get loaded when gambas loads so they show correct > in IDE. > > Should I stop or do you think may be a nice addition? > > Here is a movie of it working.. > http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 > > it is WIP still. (need to make it copy the ProjectDir/.info file to > ProjectDir/.hidden/info/classname.info to make it work properly yet) > > Respects > BruceS > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Mon Feb 22 19:15:02 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 22 Feb 2021 20:15:02 +0200 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: > > The basic question is: can you create closed software with Gambas3? > Yes, you can and many people have. There is no dispute. It is not a matter of opinion, but a fact. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Mon Feb 22 19:15:31 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 22 Feb 2021 19:15:31 +0100 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: References: Message-ID: <9ab7b538-dd6c-e9c1-7fc8-525d1377bd4f@gmail.com> Le 22/02/2021 ? 17:23, Bruce Steers a ?crit?: > > Ben , do you like or hate the idea of this? > I've added a "Custom Controls" part to Preferences. > > Controls added to list get loaded when gambas loads so they show correct > in IDE. > > Should I stop or do you think may be a nice addition? > > Here is a movie of it working.. > http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 > > it is WIP still. (need to make it copy the ProjectDir/.info file to > ProjectDir/.hidden/info/classname.info to make > it work properly yet) > > Respects > BruceS > Hi, Sorry, I don't like the idea of loading components dynamically in the IDE at all, because : 1) These components cannot be unloaded. 2) They can break the IDE. Regards, -- Beno?t Minisini From jussi.lahtinen at gmail.com Mon Feb 22 19:21:41 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 22 Feb 2021 20:21:41 +0200 Subject: [Gambas-user] Opensource for parts of my devs In-Reply-To: <01fcd6d5-0355-7303-48dd-49d06c16a7d2@3d-phenomen.fr> References: <01fcd6d5-0355-7303-48dd-49d06c16a7d2@3d-phenomen.fr> Message-ID: "The GPL is not necessarily free..." Source code of a GPL program is always free, thus the software is essentially always free if you compile it yourself. Jussi On Mon, Feb 22, 2021 at 3:05 PM Olivier COQUET wrote: > Hello everyone, > > Sorry I didn't answer but my mail server was hacked in the middle of a > discussion and I had to work on it all weekend to get it up and running > again. > > To make a long story short, I'm working on the development of a home > automation system for individuals that is reliable and accessible. > > The whole system is developed in Gambas 3.15, the software part will be > marketed with an electronic part and a cosmetic part. > > Of course, the individual elements will be distributed for free, as it > is already the case for the embedded http server, the plugin system, > and, soon, an RXB6 library that will allow from Gambas Basic to receive > and transmit on the 433.92 mhz frequency. > > By the way, I notice some confusion between the terms "FREE" (public > domain in French) and GPL. The GPL is not necessarily free and is > especially not in the public domain, the broadcasting in public domain > is indeed free but implies the abandonment of intellectual property, the > GPL, on the other hand, preserves intellectual property. In addition, > code generated from a software in gpl license can be distributed as we > want as soon as it does not incorporate parts of gpl code modified or not. > > The fact of relying on a compiler or GPL libraries does not constitute > an inclusion of code insofar as the libraries and the compiler are an > intrinsic part of the original creation software, on the other hand if > your code is based on such libraries, you are prohibited from > distributing them, and the user is responsible for finding and > installing them by himself. > > Finally, the GPL library implies the diffusion of the licensed source > code to users. In the case of a paid software, only users who have > acquired the rights to use it must receive the sources, which does not > imply a diffusion to people who have not purchased the software. > > Friendship to all > Olivier Coquet > > Translated with www.DeepL.com/Translator (free version) > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 22 20:24:45 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 19:24:45 +0000 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: <9ab7b538-dd6c-e9c1-7fc8-525d1377bd4f@gmail.com> References: <9ab7b538-dd6c-e9c1-7fc8-525d1377bd4f@gmail.com> Message-ID: On Mon, 22 Feb 2021 at 18:17, Beno?t Minisini wrote: > Le 22/02/2021 ? 17:23, Bruce Steers a ?crit : > > > > Ben , do you like or hate the idea of this? > > I've added a "Custom Controls" part to Preferences. > > > > Controls added to list get loaded when gambas loads so they show correct > > in IDE. > > > > Should I stop or do you think may be a nice addition? > > > > Here is a movie of it working.. > > http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 > > > > it is WIP still. (need to make it copy the ProjectDir/.info file to > > ProjectDir/.hidden/info/classname.info to make > > it work properly yet) > > > > Respects > > BruceS > > > > Hi, > > Sorry, I don't like the idea of loading components dynamically in the > IDE at all, because : > > 1) These components cannot be unloaded. > Does that matter? i plan to use the components i am making in most of my projects so i want them loaded. It does not properly integrate into gambas, i cannot see the component in the control chooser in the IDE unless i add the class to my project. It does not show the icon in the chooser unless i add the png to .hidden/control. But once i have done that the IDE can get the _DrawWith, _Similar , etc info and that is great. > 2) They can break the IDE. > Ahh , yes then I fully understand your concerns. Not to worry, i'll stop pushing the idea to you ;) I think i'll keep the addition on my branch though as I am finding it is a really useful feature while i am learning how the layout of custom controls work. how they look in the IDE as well as how they look at runtime helps me understand what is going on much better. i will add a "Do not Load components" option to skip the loading all custom components before reporting any bugs in future to be sure the bug is not this breaking things and add a note on the settings page to tell anyone else to do the same (not that anyone uses my fork) Thank you for your thoughts. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Feb 22 21:41:28 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 Feb 2021 20:41:28 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: On Sun, 21 Feb 2021 at 23:57, Beno?t Minisini wrote: > Le 21/02/2021 ? 19:44, Bruce Steers a ?crit : > > > > Not so much A file but all files in Gambas IDE texteditor has stopped > > rendering highlights or formatting the line when only using cursor to > > move off a line. > > ... > > > Is it better with the last commit? > > this is interesting. I thought this info may help somehow... I noticed it was not broken on the gambas version i added the custom controls on and discovered it was because I made a link to launch it. This is true...... If I launch gambas3.gambas from /usr/bin bug exists If i launch link gambas3 from /usr/bin bug exists if i launch gambas.3.gambas from my gambas source folder the bug exists If i make a link to gambas3.gambas in the source folder and launch it the bug has gone. If i make a new link as root to gambas3.gambas in /usr/bin and launch it the bug has gone. Oddly If i delete link gambas3 and make a new one bug exists ??? lol If i make a new link with a name like gambas33 then gambas loads with tip of the day initial window like 1st time running. If i run gambas in any way as root bug is gone Hope that helps BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Mon Feb 22 21:54:43 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 22 Feb 2021 22:54:43 +0200 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: > > this is interesting. I thought this info may help somehow... > > I noticed it was not broken on the gambas version i added the custom > controls on and discovered it was because I made a link to launch it. > > This is true...... > If I launch gambas3.gambas from /usr/bin bug exists > If i launch link gambas3 from /usr/bin bug exists > if i launch gambas.3.gambas from my gambas source folder the bug exists > > If i make a link to gambas3.gambas in the source folder and launch it the > bug has gone. > If i make a new link as root to gambas3.gambas in /usr/bin and launch it > the bug has gone. > > Oddly If i delete link gambas3 and make a new one bug exists ??? lol > If i make a new link with a name like gambas33 then gambas loads with tip > of the day initial window like 1st time running. > > If i run gambas in any way as root bug is gone > > Hope that helps > > Something in the /tmp or in ~/.config/gambas3. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Mon Feb 22 22:00:18 2021 From: bagonergi at gmail.com (Gianluigi) Date: Mon, 22 Feb 2021 22:00:18 +0100 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: Il giorno lun 22 feb 2021 alle ore 19:16 Jussi Lahtinen < jussi.lahtinen at gmail.com> ha scritto: > The basic question is: can you create closed software with Gambas3? >> > > Yes, you can and many people have. There is no dispute. It is not a matter > of opinion, but a fact. > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Let's put it this way, I am a polite person and therefore I avoid continuing the discussion. Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Mon Feb 22 22:17:45 2021 From: adamnt42 at gmail.com (Bruce) Date: Tue, 23 Feb 2021 07:47:45 +1030 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: References: <9ab7b538-dd6c-e9c1-7fc8-525d1377bd4f@gmail.com> Message-ID: <7fcaf291-3a10-3709-10a8-d7ef51482d11@gmail.com> On 23/2/21 5:54 am, Bruce Steers wrote: > On Mon, 22 Feb 2021 at 18:17, Beno?t Minisini wrote: > >> Le 22/02/2021 ? 17:23, Bruce Steers a ?crit : >>> >>> Ben , do you like or hate the idea of this? >>> I've added a "Custom Controls" part to Preferences. >>> >>> Controls added to list get loaded when gambas loads so they show correct >>> in IDE. >>> >>> Should I stop or do you think may be a nice addition? >>> >>> Here is a movie of it working.. >>> http://bws.org.uk/images/screenrecord-2021-02-22_16.14.34.mp4 >>> >>> it is WIP still. (need to make it copy the ProjectDir/.info file to >>> ProjectDir/.hidden/info/classname.info to make >>> it work properly yet) >>> >>> Respects >>> BruceS >>> >> >> Hi, >> >> Sorry, I don't like the idea of loading components dynamically in the >> IDE at all, because : >> >> 1) These components cannot be unloaded. >> > > Does that matter? i plan to use the components i am making in most of my > projects so i want them loaded. > It does not properly integrate into gambas, i cannot see the component in > the control chooser in the IDE unless i add the class to my project. > It does not show the icon in the chooser unless i add the png to > .hidden/control. > But once i have done that the IDE can get the _DrawWith, _Similar , etc > info and that is great. > > >> 2) They can break the IDE. >> > > Ahh , yes then I fully understand your concerns. > Not to worry, i'll stop pushing the idea to you ;) > > I think i'll keep the addition on my branch though as I am finding it is a > really useful feature while i am learning how the layout of custom controls > work. > how they look in the IDE as well as how they look at runtime helps me > understand what is going on much better. > > i will add a "Do not Load components" option to skip the loading all custom > components before reporting any bugs in future to be sure the bug is not > this breaking things and add a note on the settings page to tell anyone > else to do the same (not that anyone uses my fork) > > > Thank you for your thoughts. > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > A couple of points thatyou may wixh to consider. 1) You should only ;oad the custom control components used by the particular project that is active ibn IDE. This is the problem with not being able to unload them. If you open a different project in the same IDE window that uses different, possibly conflicting, custom components then you may get name clashes and thus IDE instability. Regardless of that you may also need to look at Preject/Refresh and the Git menu etc where the active project is trloaded. 2) have you considered custom control components with multiple controls? I can't see your movie (eyesight problems not technical problems) So I cant see how you are specifying the component. 3) some controls (and therefore some custom controls based on them actually do do things inside the IDE form designer. For example the wizard control or consider a custom "sub-foorm switcher". Just suggesting you think about these things in your design of your IDE version. 4) One thing I tried,almost succeeded and lost in a disk crash, was "custom editors for custom control propertied" . At the moment they have yo be included in the IDE code, for example the little popup editors used by the report controls. My idea was to have these property editors defined inside the cusyom control component. Yhus not disturbing the IDE. I was too busy trying to rebuild our dev box to try to recover what I had done (Always back up your dev versions frequently! is all I remember now.) Anyway ymmv bruce From adamnt42 at gmail.com Mon Feb 22 22:21:31 2021 From: adamnt42 at gmail.com (Bruce) Date: Tue, 23 Feb 2021 07:51:31 +1030 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: <8fd73e1e-03b0-4769-cecd-9d8c27a93350@gmail.com> On 23/2/21 7:30 am, Gianluigi wrote: > Il giorno lun 22 feb 2021 alle ore 19:16 Jussi Lahtinen < > jussi.lahtinen at gmail.com> ha scritto: > >> The basic question is: can you create closed software with Gambas3? >>> >> >> Yes, you can and many people have. There is no dispute. It is not a matter >> of opinion, but a fact. >> >> Jussi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > Let's put it this way, I am a polite person and therefore I avoid > continuing the discussion. > > Regards > Gianluigi > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > sono d'accordo bruce From jussi.lahtinen at gmail.com Mon Feb 22 23:43:30 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 00:43:30 +0200 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: > Let's put it this way, I am a polite person and therefore I avoid > continuing the discussion. > Oh come on. You are spreading misinformation that may discourage potential Gambas users. I'm impolite, because I try to correct things?? Here is authoritative statement, if you do not believe me: https://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 23 04:24:13 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 05:24:13 +0200 Subject: [Gambas-user] Code for the IDE Message-ID: Hi, I made a quick hack to get back the old feature, that the debug outputs can be used to jump to the code. I added this to gambas/comp/src/gb.form.terminal/.src/TerminalView/TerminalView.class : Public Sub GotoDebug() As String Dim sText As String sText = $hScreen.GetSelectedText() If sText = "" Then sText = Me.Text Endif Return sText End And modified /gambas/app/src/gambas3/.src/Debug/FOutput.class and FOutput.form accordingly to jump to the code. Not as slick as the old way, but surely better, than nothing. And in my books good enough. IE. Double click the address of the debug output and press Ctrl + g. The modified files are attached. Any change to get them to the official IDE? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: thefiles.tar.gz Type: application/gzip Size: 11229 bytes Desc: not available URL: From mbelmonte at belmotek.net Tue Feb 23 11:53:55 2021 From: mbelmonte at belmotek.net (Martin) Date: Tue, 23 Feb 2021 11:53:55 +0100 Subject: [Gambas-user] Free as in freedom In-Reply-To: References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: <39648e22-d397-38e3-7d72-fcab5385ffa3@belmotek.net> > But perhaps this discussion takes place on two different levels, hence > the confusion. > The basic question is: can you create closed software with Gambas3? Let's see, in this conversation entitled "free as infreedom" I try that among those who are interested in discussing this topic, we draw some conclusions on how to license the programs so as not to restrict the freedom of users and at the same time be able to generate income. If we only focus on generating income, closing part or all of a software may seem like the solution, but is it true? Those of us who make programs are a kind of user who like to see the code and when someone says "I'm going to close the code" I think it is not well received by this type of user, but everyone is free to do whatever they want with their program, that's not what I'm interested in discussing. For example if you compile with GCC a C program that consists of text code files and called standard C libraries, when it is compiled to make the executable it has both the logic of the programmer and the logic of the libraries, this software can be published as closed, open or free right? that is because the compiller GCC is licenced as GPLv3+ with GCC Runtime Library Exception, but if you use other compiller I'm not sure about the options. Now, a gambas software is interpreted by an interpreter, so in the executable.gambas, which part is from the developer and which part is from the gambas libraries or components? If the component or library is GPL2, can you put part of it in a closed program? I ask these questions because I don't know precisely what happens inside an executable. Regards. Mart?n. From tercoide at hotmail.com Tue Feb 23 12:34:49 2021 From: tercoide at hotmail.com (martin p cristia) Date: Tue, 23 Feb 2021 08:34:49 -0300 Subject: [Gambas-user] Going to Mars FOSS In-Reply-To: References: Message-ID: That is what grows the comunity and make Gambas bigger. I started the discusion and posted that closing the source was pointless (wasn't sure about it was legal). In this era and operating system, closing the source is a bad thing to do. There are much better alternaives for making money to pay the rent. We're going to Mars FOSS!!! https://www.zdnet.com/article/to-infinity-and-beyond-linux-and-open-source-goes-to-mars/ El 2/22/21 a las 1:29 PM, user-request at lists.gambas-basic.org escribi?: > Of course, the individual elements will be distributed for free, as it > is already the case for the embedded http server, the plugin system, > and, soon, an RXB6 library that will allow from Gambas Basic to receive > and transmit on the 433.92 mhz frequency. -- Saludos Ing. Martin P Cristia From bsteers4 at gmail.com Tue Feb 23 15:21:39 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 14:21:39 +0000 Subject: [Gambas-user] Custom controls in gambas IDE In-Reply-To: <7fcaf291-3a10-3709-10a8-d7ef51482d11@gmail.com> References: <9ab7b538-dd6c-e9c1-7fc8-525d1377bd4f@gmail.com> <7fcaf291-3a10-3709-10a8-d7ef51482d11@gmail.com> Message-ID: > > > > > Thank you for your thoughts. > > BruceS > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > A couple of points thatyou may wixh to consider. > Thank you bruce , I highly value your words of experience. 1) You should only ;oad the custom control components used by the > particular project that is active ibn IDE. This is the problem with not > being able to unload them. If you open a different project in the same > IDE window that uses different, possibly conflicting, custom components > then you may get name clashes and thus IDE instability. Regardless of > that you may also need to look at Preject/Refresh and the Git menu etc > where the active project is trloaded. > I am not so sure the intention for my usage of this will affect that. I am not really thinking (yet) about many unique controls made specifically for one app. My idea to to build my own little collection of controls that I will use in everything. Like the left or right handed checkbox with images for ticks. the TickBox I know works, and in multiple interfaces as i had 2 or 3 running yesterday All using TickBox and all wth no conflicts. This seems to be more like a "pseudo" component load. because Gambas loads the control but does not use it in the interface as it is not a part of gb.form.But then when I add a component to my project (Not via properties , by putting it's class file in my projects src dir) then when gambas tries to check it's loaded controls for the _DrawWith = "MyCustomComponent" it is able to find it. It seems perfect to me, because it has not really added the custom control to gambas I have to do that myself (it makes the custom control be part of the app code and not any external component/library that needs installing) thanks for the info though I will be careful with name conflicts and try to make this work in a safe way. It would be awesome if gambas could handle something like this. At first i was modifying gb.form and actually adding the controls to gambas fully but I think this way i am tricking the IDE into being able to find the _DrawWith info without adding is not only about the bast i can do but it's also ideally all i need. 2) have you considered custom control components with multiple controls? > I can't see your movie (eyesight problems not technical problems) So I > cant see how you are specifying the component. > No worries allow me to explain.. In preferences i added a page with a Gridview and add/remove buttons, i can add controls by dialog, I select the .gambas executable path. Then next time gambas runs if it has files in the custom control list it does the following... Checks the custom control folder for a .hidden/info dir and creates one if not there. copies the projectfolder/.info file to projectfolder/.hidden/info/ controlname.info (it does not display correctly without doing this) then simply does Try component.Load(sExecutableNam) that is all. I have not tested it but i think as it has worked fine with the one control inside the component it should be okay if there are others as all the needed info is in the .gambas and .info file. I think the only problem i can see is that i display the controls icon in the prefs gridview if one exists in projectdir/.hidden/control/lowercasecontrolname.png , that's going to fail to find the icon if multiple controls exists that do not have the same name as the exe. but a simple fix would be to have an icon for the component as well as the controls inside it. 3) some controls (and therefore some custom controls based on them > actually do do things inside the IDE form designer. For example the > wizard control or consider a custom "sub-foorm switcher". Just > suggesting you think about these things in your design of your IDE version. > aah yes thank you , I understand , that's the beauty of this method i think, the "pseudo" add. I cannot see how it will effect gambas as the only code relative to them it the Component.Load() nothing else is done with them until the IDE searches for a _DrawWith match in it's loaded controls db. I am favouring this method as the best way to get the controls visible in the IDE that effects gambas the least amount possible. > 4) One thing I tried,almost succeeded and lost in a disk crash, was > "custom editors for custom control propertied" . At the moment they have > yo be included in the IDE code, for example the little popup editors > used by the report controls. My idea was to have these property editors > defined inside the cusyom control component. Yhus not disturbing the > IDE. I was too busy trying to rebuild our dev box to try to recover what > I had done (Always back up your dev versions frequently! is all I > remember now.) > Ouch , yes we've all been there i guess :( I lost 2 years worth of songwriting and a whole load of hand made software once , was devastated :'( Yes it seems with the way gambas renders controls the only way to get custom ones to show is to add them at the base level :( a control editor i do not think i need though as i already have gambas for that :) My only problem is not being able to see the controls in the IDE in the designer as they should look. My solution is clearly a bit of a hack but , , meh , i'll call it a work-around ;) I think it will be a plus if used wisely. I'm hand building controls from scratch with little-to-no knowledge about how to do so and have not broken gambas yet ;) And the truth is development of the control i was working on, the TickBox , took a huge speed increase yesterday once i could see it in the ide. It was a great help (much like yourself sir :) ) > > Anyway ymmv > bruce > Thanks again bruce Valued words of wisdom Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.rodriguez at cenpalab.cu Tue Feb 23 15:22:02 2021 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Tue, 23 Feb 2021 14:22:02 +0000 Subject: [Gambas-user] Free as in freedom In-Reply-To: <39648e22-d397-38e3-7d72-fcab5385ffa3@belmotek.net> References: <39648e22-d397-38e3-7d72-fcab5385ffa3@belmotek.net> <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> Message-ID: <7bde97af62f98920d4425c89f7bf3914@cenpalab.cu> February 23, 2021 5:54 AM, "Martin" wrote: > > Now, a gambas software is interpreted by an interpreter, so in the > executable.gambas, which part is from the developer and which part is > from the gambas libraries or components? > If the component or library is GPL2, can you put part of it in a closed > program? > Now that was exactly the point I was trying to make a couple of days ago. What effect does the license of the Gambas libraries and runtime interpreter have on our own programs that necessarily use them? All those online discussions surrounding the use of dynamically or statically linked libraries, runtimes, GPL vs. LGPL libraries, etc, are, frankly, legalese to me, which is a language I don't understand very well and gives me headaches... Regards, Joe1962 From bsteers4 at gmail.com Tue Feb 23 15:34:33 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 14:34:33 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: On Mon, 22 Feb 2021 at 20:55, Jussi Lahtinen wrote: > this is interesting. I thought this info may help somehow... >> >> I noticed it was not broken on the gambas version i added the custom >> controls on and discovered it was because I made a link to launch it. >> >> This is true...... >> If I launch gambas3.gambas from /usr/bin bug exists >> If i launch link gambas3 from /usr/bin bug exists >> if i launch gambas.3.gambas from my gambas source folder the bug exists >> >> If i make a link to gambas3.gambas in the source folder and launch it the >> bug has gone. >> If i make a new link as root to gambas3.gambas in /usr/bin and launch it >> the bug has gone. >> >> Oddly If i delete link gambas3 and make a new one bug exists ??? lol >> If i make a new link with a name like gambas33 then gambas loads with tip >> of the day initial window like 1st time running. >> >> If i run gambas in any way as root bug is gone >> >> Hope that helps >> >> > Something in the /tmp or in ~/.config/gambas3. > > > Jussi > whatever it is it's nothing to do with my config. happening on my Linux mint, Debian, Fedora and Ubuntu. (basically every os i have tested it on) Does it not happen for you Jussi? Are other folks out there not getting this bug? Simple quick test.. load a project, find a nice highlighted line , delete the last char and re-type it. then just use the arrow keys or mouse to move the cursor. on my system the line is not getting highlighted until scrolling , selecting/unselecting any text, typing any text or deleting any text, hovering over the preview bar and off again. Odd though make a new link or run as root and all works fine? :-\ also when the text does re-highlight it is after a short pause. it kinda throws my off base as i use the highlighting a lot as a quick code checker (it does not highlight properly if code mistakes so i know an error) now it's not such the quick code checker. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean-yvon.renaut at wanadoo.fr Tue Feb 23 16:24:44 2021 From: jean-yvon.renaut at wanadoo.fr (Jean-Yvon) Date: Tue, 23 Feb 2021 16:24:44 +0100 Subject: [Gambas-user] problem with report2 Message-ID: <08e2fb40-1c4e-af2e-3659-eac47ab263be@wanadoo.fr> hello! I cannot change what I want to print in the same assignment; I put: report1.clear report1.refresh report1.forcenewpage = true once the report is posted, I close it and nothing to do, it?s always the same page that comes back Since there?s no help, I don?t know what to do. probl?me avec report2 regard JY je n'arrive pas ? changer ce que je veux imprimer dans la m?me cession; J'ai mis: report1.clear report1.refresh report1.forcenewpage = true une fois le rapport affich?, je le ferme et rien ? faire, c'est toujours la m?me page qui revient ?comme il n'y a aucune aide, je ne sais pas quoi faire.. cordialement JY -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Tue Feb 23 16:58:45 2021 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 23 Feb 2021 16:58:45 +0100 Subject: [Gambas-user] problem with report2 In-Reply-To: <08e2fb40-1c4e-af2e-3659-eac47ab263be@wanadoo.fr> References: <08e2fb40-1c4e-af2e-3659-eac47ab263be@wanadoo.fr> Message-ID: Hu Jean Yvon Please send me your project in private Le mar. 23 f?vr. 2021 ? 16:25, Jean-Yvon a ?crit : > hello! > > I cannot change what I want to print in the same assignment; > I put: > report1.clear > report1.refresh > report1.forcenewpage = true > once the report is posted, I close it and > nothing to do, it?s always the same page that comes back > Since there?s no help, I don?t know what to do. > probl?me avec report2 > regard > > JY > > je n'arrive pas ? changer ce que je veux imprimer dans la m?me cession; > J'ai mis: > report1.clear > report1.refresh > report1.forcenewpage = true > une fois le rapport affich?, je le ferme et > rien ? faire, c'est toujours la m?me page qui revient > comme il n'y a aucune aide, je ne sais pas quoi faire.. > cordialement > > JY > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlie at cogier.com Tue Feb 23 18:28:42 2021 From: charlie at cogier.com (Charlie Ogier) Date: Tue, 23 Feb 2021 17:28:42 +0000 Subject: [Gambas-user] Issue with ColorChooser Message-ID: Hi, Am I missing something or is there a problem? I can't get the ColorChooser to trigger events for MouseUp, MouseDown, GotFocus & LostFocus. If you run the code below can you let me know if you also see the issue. Thanks, Charlie ******************************************************* HBox1 As HBox TextBox1 As TextBox ColorChooser1 As ColorChooser Public Sub Form_Open() ? With Me ??? .H = 400 ??? .W = 400 ??? .Arrangement = Arrange.Vertical ??? .Padding = 5 ? End With ? With ColorChooser1 = New ColorChooser(Me) As "ColorChooser1" ??? .Expand = True ??? .Tracking = True ??? .Tooltip = "Hello world!" ? End With ? With HBox1 = New HBox(Me) ??? .H = 28 ??? .W = 100 ? End With ? With TextBox1 = New TextBox(HBox1) As "TextBox1" ??? .H = 28 ??? .W = 100 ??? .Expand = True ??? .Background = Color.White ??? .Text = "Move and click things, should the events not trigger?" ? End With End Public Sub TextBox1_GotFocus() ? Me.Text = "TextBox has focus" End Public Sub TextBox1_LostFocus() ? Me.Text = "TextBox has lost focus" End Public Sub ColorChooser1_MouseDown() ? Stop End Public Sub ColorChooser1_MouseUp() ? Stop End Public Sub ColorChooser1_GotFocus() ? Stop End Public Sub ColorChooser1_LostFocus() ? Stop End From jussi.lahtinen at gmail.com Tue Feb 23 19:08:20 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 20:08:20 +0200 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: > > whatever it is it's nothing to do with my config. > happening on my Linux mint, Debian, Fedora and Ubuntu. (basically every > os i have tested it on) > Gambas writes the configs, not underlying the system. Meaning, if you have run somehow corrupted/buggy installation, there might be something in the config. You could try to rename gambas3.conf and try then if the bug persists. If not, just delete the new config and rename the old back. Also, compare system information between buggy run IDE and working IDE, or send them here. Did you compile the sources yourself? Does it not happen for you Jussi? > No. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 23 19:17:31 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 20:17:31 +0200 Subject: [Gambas-user] Going to Mars FOSS In-Reply-To: References: Message-ID: On Tue, Feb 23, 2021 at 1:52 PM martin p cristia wrote: > That is what grows the comunity and make Gambas bigger. I started the > discusion and posted that closing the source was pointless (wasn't sure > about it was legal). In this era and operating system, closing the > source is a bad thing to do. There are much better alternaives for > making money to pay the rent. We're going to Mars FOSS!!! > > > https://www.zdnet.com/article/to-infinity-and-beyond-linux-and-open-source-goes-to-mars/ > > El 2/22/21 a las 1:29 PM, user-request at lists.gambas-basic.org escribi?: > > Of course, the individual elements will be distributed for free, as it > > is already the case for the embedded http server, the plugin system, > > and, soon, an RXB6 library that will allow from Gambas Basic to receive > > and transmit on the 433.92 mhz frequency. > > -- > Saludos > > Ing. Martin P Cristia > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > I prefer open source be it science or software. However I see at least one exception, some games. Let's say you have created a unique story etc for a game, then you perhaps don't want people to look at spoilers from the source or you don't want people to focus on derivations of your story. And maybe some research software needs to be closed until the study results are published. Example in electronically implemented psychological studies to establish proper controls, ensure blinding or prevent biases. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 19:39:06 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 18:39:06 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: On Tue, 23 Feb 2021 at 18:09, Jussi Lahtinen wrote: > whatever it is it's nothing to do with my config. >> happening on my Linux mint, Debian, Fedora and Ubuntu. (basically every >> os i have tested it on) >> > > Gambas writes the configs, not underlying the system. > Meaning, if you have run somehow corrupted/buggy installation, there might > be something in the config. > You could try to rename gambas3.conf and try then if the bug persists. If > not, just delete the new config and rename the old back. > if i have run a buggy installation on every operating system i have then the installation must be buggy , i use the autotools method provided and the commands as used in the gitlab-ci file. this was not a problem until commit d0fa82d8 TextEditor: Highlight lines the later as possible: when the Text or SelectedText property is read, or when the line is drawn. [GB.FORM.EDITOR] * OPT: TextEditor: Highlight lines the later as possible: when the Text or SelectedText property is read, or when the line is drawn. Consequently, the IDE restores a project faster when there are a lot of files to open. So i'm thinking it's something to do with that rather than suddenly all my systems are misconfiggured > Also, compare system information between buggy run IDE and working IDE, or > send them here. > pffffffff , I might just learn to live with the bug , it might be easier ;) Did you compile the sources yourself? > yes via the recommended method as described on the wiki. Is your's a bulk standard repository version then? possibly that makes a difference? I use compilation install method because it makes it better for me to help Ben by testing new commits asap > Does it not happen for you Jussi? >> > > No. > bloody typical lol :D what are you on stable build or something? ;) hehe Thanks anyway Jussi but i think yr off base on the cause being anything i have done. I have tried uninstalling, removing manually gambas stuff, installing main master not my own fork. and my fork only has a few tweaks on the main master so it cannot be that. It's the above mentioned commit. trust me :) Bruce Steers -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 19:15:10 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 18:15:10 +0000 Subject: [Gambas-user] Issue with ColorChooser In-Reply-To: References: Message-ID: Getting the same problems here. I tried many different ways , still no events triggered. On Tue, 23 Feb 2021 at 17:51, Charlie Ogier wrote: > Hi, > > Am I missing something or is there a problem? I can't get the > ColorChooser to trigger events for MouseUp, MouseDown, GotFocus & > LostFocus. > > If you run the code below can you let me know if you also see the issue. > > Thanks, > > Charlie > > ******************************************************* > > HBox1 As HBox > TextBox1 As TextBox > ColorChooser1 As ColorChooser > > Public Sub Form_Open() > > With Me > .H = 400 > .W = 400 > .Arrangement = Arrange.Vertical > .Padding = 5 > End With > > With ColorChooser1 = New ColorChooser(Me) As "ColorChooser1" > .Expand = True > .Tracking = True > .Tooltip = "Hello world!" > End With > > With HBox1 = New HBox(Me) > .H = 28 > .W = 100 > End With > > With TextBox1 = New TextBox(HBox1) As "TextBox1" > .H = 28 > .W = 100 > .Expand = True > .Background = Color.White > .Text = "Move and click things, should the events not trigger?" > End With > > End > > Public Sub TextBox1_GotFocus() > > Me.Text = "TextBox has focus" > > End > > Public Sub TextBox1_LostFocus() > > Me.Text = "TextBox has lost focus" > > End > > Public Sub ColorChooser1_MouseDown() > > Stop > > End > > Public Sub ColorChooser1_MouseUp() > > Stop > > End > > Public Sub ColorChooser1_GotFocus() > > Stop > > End > > Public Sub ColorChooser1_LostFocus() > > Stop > > End > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g4mba5 at gmail.com Tue Feb 23 19:47:50 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 23 Feb 2021 19:47:50 +0100 Subject: [Gambas-user] Issue with ColorChooser In-Reply-To: References: Message-ID: Le 23/02/2021 ? 19:15, Bruce Steers a ?crit?: > Getting the same problems here. > > I tried many different ways , still no events triggered. > > It's usually the case with compound controls. Low-level events do not have necessarily a meaning for compund controls, and may not raise at all. Unless a "proxy" is defined for that compound control (Control.Proxy property), so that the low-level events of that proxy are seen as low-level events from the outside. But I'm afraid ColorChooser has no child that could act as a proxy. Which one could it be? Maybe the focus in/out could be simulated, I'm not sure. But for low-level events... -- Beno?t Minisini From g4mba5 at gmail.com Tue Feb 23 19:53:25 2021 From: g4mba5 at gmail.com (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 23 Feb 2021 19:53:25 +0100 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> Message-ID: <7976b221-2948-07ef-24c5-3b5b04c894d3@gmail.com> Le 22/02/2021 ? 02:41, Bruce Steers a ?crit?: > No my friend sorry it is still the same. > I still don't have any problem with syntax highlighting. It highlights when the line changes for Gambas, and highlights immediately for other highlightings that do not rewrite the editor contents. Again, make me a video, it would be faster than trying to explain with hundreds of lines of english. Regards, -- Beno?t Minisini From bsteers4 at gmail.com Tue Feb 23 20:11:14 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 19:11:14 +0000 Subject: [Gambas-user] Issue with ColorChooser In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 at 18:48, Beno?t Minisini wrote: > Le 23/02/2021 ? 19:15, Bruce Steers a ?crit : > > Getting the same problems here. > > > > I tried many different ways , still no events triggered. > > > > > > It's usually the case with compound controls. > > Low-level events do not have necessarily a meaning for compund controls, > and may not raise at all. > > Unless a "proxy" is defined for that compound control (Control.Proxy > property), so that the low-level events of that proxy are seen as > low-level events from the outside. > > But I'm afraid ColorChooser has no child that could act as a proxy. > Which one could it be? Maybe the focus in/out could be simulated, I'm > not sure. But for low-level events... > > -- > Beno?t Minisini > > I think this could possibly be a bigger issue Ben. with the test app i made for Charlie i also added another TextBox and set up Got and Lost focus handlers. The TextBox controls did not trigger focus events either and they are not even in containers just a From , a ColorChooser and 2 TextBox's (i just added a CheckBox to further test) (i'll attach the simple app) not getting Got or Lost focus on anything NEW IMPORTANT DISCOVERY... ( i think important ) If i run gambas as root. Or if i run it via a link , just like the problem i am having with the IDE text highlighting the bug goes away. all the best. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: _aa.zip Type: application/zip Size: 13484 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Tue Feb 23 19:22:24 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 20:22:24 +0200 Subject: [Gambas-user] Free as in freedom In-Reply-To: <7bde97af62f98920d4425c89f7bf3914@cenpalab.cu> References: <851fb583-1552-5fa1-1d01-2ffb9d73a08b@belmotek.net> <94f4f9f1-397d-685f-8b31-8e43b59222a8@belmotek.net> <39648e22-d397-38e3-7d72-fcab5385ffa3@belmotek.net> <7bde97af62f98920d4425c89f7bf3914@cenpalab.cu> Message-ID: Again, it doesn't make any difference. Everything run on Linux is run on GPL kernel. What you write is yours. Jussi On Tue, Feb 23, 2021 at 4:23 PM wrote: > February 23, 2021 5:54 AM, "Martin" wrote: > > > > Now, a gambas software is interpreted by an interpreter, so in the > > executable.gambas, which part is from the developer and which part is > > from the gambas libraries or components? > > If the component or library is GPL2, can you put part of it in a closed > > program? > > > > Now that was exactly the point I was trying to make a couple of days ago. > What effect does the license of the Gambas libraries and runtime > interpreter have on our own programs that necessarily use them? All those > online discussions surrounding the use of dynamically or statically linked > libraries, runtimes, GPL vs. LGPL libraries, etc, are, frankly, legalese to > me, which is a language I don't understand very well and gives me > headaches... > > Regards, > Joe1962 > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagonergi at gmail.com Tue Feb 23 18:13:49 2021 From: bagonergi at gmail.com (Gianluigi) Date: Tue, 23 Feb 2021 18:13:49 +0100 Subject: [Gambas-user] problem with report2 In-Reply-To: <08e2fb40-1c4e-af2e-3659-eac47ab263be@wanadoo.fr> References: <08e2fb40-1c4e-af2e-3659-eac47ab263be@wanadoo.fr> Message-ID: Il giorno mar 23 feb 2021 alle ore 16:25 Jean-Yvon < jean-yvon.renaut at wanadoo.fr> ha scritto: > hello! > > I cannot change what I want to print in the same assignment; > I put: > report1.clear > report1.refresh > report1.forcenewpage = true > Have you tried with: Dim hReport As Report hReport = New Report1 hRreport.Clear ... Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 20:30:39 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 19:30:39 +0000 Subject: [Gambas-user] Issue with ColorChooser In-Reply-To: References: Message-ID: Charlie can you test something for me? open /usr/bin as root in a file manager and right click gambas3.gambas and select the "Make Link" option Then drag the link to your desktop. Tell me if running gambas from the linkfixes the proplem. Cheers bud. BruceS. On Tue, 23 Feb 2021 at 17:51, Charlie Ogier wrote: > Hi, > > Am I missing something or is there a problem? I can't get the > ColorChooser to trigger events for MouseUp, MouseDown, GotFocus & > LostFocus. > > If you run the code below can you let me know if you also see the issue. > > Thanks, > > Charlie > > ******************************************************* > > HBox1 As HBox > TextBox1 As TextBox > ColorChooser1 As ColorChooser > > Public Sub Form_Open() > > With Me > .H = 400 > .W = 400 > .Arrangement = Arrange.Vertical > .Padding = 5 > End With > > With ColorChooser1 = New ColorChooser(Me) As "ColorChooser1" > .Expand = True > .Tracking = True > .Tooltip = "Hello world!" > End With > > With HBox1 = New HBox(Me) > .H = 28 > .W = 100 > End With > > With TextBox1 = New TextBox(HBox1) As "TextBox1" > .H = 28 > .W = 100 > .Expand = True > .Background = Color.White > .Text = "Move and click things, should the events not trigger?" > End With > > End > > Public Sub TextBox1_GotFocus() > > Me.Text = "TextBox has focus" > > End > > Public Sub TextBox1_LostFocus() > > Me.Text = "TextBox has lost focus" > > End > > Public Sub ColorChooser1_MouseDown() > > Stop > > End > > Public Sub ColorChooser1_MouseUp() > > Stop > > End > > Public Sub ColorChooser1_GotFocus() > > Stop > > End > > Public Sub ColorChooser1_LostFocus() > > Stop > > End > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 20:37:04 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 19:37:04 +0000 Subject: [Gambas-user] Issue with ColorChooser In-Reply-To: References: Message-ID: On Tue, 23 Feb 2021 at 18:48, Beno?t Minisini wrote: > Le 23/02/2021 ? 19:15, Bruce Steers a ?crit : > > Getting the same problems here. > > > > I tried many different ways , still no events triggered. > > > > > > It's usually the case with compound controls. > > Low-level events do not have necessarily a meaning for compund controls, > and may not raise at all. > > Unless a "proxy" is defined for that compound control (Control.Proxy > property), so that the low-level events of that proxy are seen as > low-level events from the outside. > > But I'm afraid ColorChooser has no child that could act as a proxy. > Which one could it be? Maybe the focus in/out could be simulated, I'm > not sure. But for low-level events... > > I see all you say here now though. Thanks for the info. I am able to get my focus events working by launching the app via a link But no event comes from the colour chooser just the other controls. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 20:22:09 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 19:22:09 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> <7976b221-2948-07ef-24c5-3b5b04c894d3@gmail.com> Message-ID: On Tue, 23 Feb 2021 at 19:17, Bruce Steers wrote: > just for you Ben.. > http://bws.org.uk/images/screenrecord-2021-02-23_19.13.00.mp4 > Oops sorry , try this link http://bws.org.uk/images/screenrecord-2021-02-23_19.19.03.mp4 > PS. did you see it's also a issue with Focus events that's resolved by the > same thing that fixes this. > > In the vid i demonstrate how just using cursor does not update text but > various other things do. > > then i close gambas and launch it from a link i made to the source folder > exe > > Hope it helps > > BruceS > > > On Tue, 23 Feb 2021 at 18:54, Beno?t Minisini wrote: > >> Le 22/02/2021 ? 02:41, Bruce Steers a ?crit : >> > No my friend sorry it is still the same. >> > >> >> I still don't have any problem with syntax highlighting. It highlights >> when the line changes for Gambas, and highlights immediately for other >> highlightings that do not rewrite the editor contents. >> >> Again, make me a video, it would be faster than trying to explain with >> hundreds of lines of english. >> >> Regards, >> >> -- >> Beno?t Minisini >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Feb 23 19:23:50 2021 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 23 Feb 2021 20:23:50 +0200 Subject: [Gambas-user] Code for the IDE In-Reply-To: References: Message-ID: Even better! Thanks! Jussi On Tue, Feb 23, 2021 at 5:46 PM Beno?t Minisini wrote: > Le 23/02/2021 ? 04:24, Jussi Lahtinen a ?crit : > > Hi, > > I made a quick hack to get back the old feature, that the debug outputs > > can be used to jump to the code. > > > > I added this to > > gambas/comp/src/gb.form.terminal/.src/TerminalView/TerminalView.class : > > > > Public Sub GotoDebug() As String > > > > Dim sText As String > > > > sText = $hScreen.GetSelectedText() > > If sText = "" Then > > sText = Me.Text > > Endif > > > > Return sText > > > > End > > > > And modified /gambas/app/src/gambas3/.src/Debug/FOutput.class and > > FOutput.form > > accordingly to jump to the code. > > > > Not as slick as the old way, but surely better, than nothing. And in my > > books good enough. > > IE. Double click the address of the debug output and press Ctrl + g. > > > > The modified files are attached. Any change to get them to the official > IDE? > > > > Jussi > > > > Hi, > > I wanted that feature too, but I don't want a quick & dirty hack. :-) > > So I modified the TerminalView so that he can recognize and highlight > links. > > The feature is based on two events, one method, and two properties. > > 1) The event "Link": it is raised while the mouse cursor is moving. It > gives you the contents of the current line, the position of the > character under the mouse cursor inside that line. > > Note that it takes into account line wrapping. > > 2) The "Link" property: the event arguments are stored in that property, > which is just a class with public properties or variables. > > 3) The method "Select()" of the Link property: You must call it during > the Link event to tell which part of the current line is a link. You can > associate an arbitrary link type (a string) that will be passed to the > "Click" event. > > 4) The event "Click": it is raised when the user actually click on the > link highlighted by "SelectLink()". > > 5) The "ShowLink" property: it toggles link management. By default link > management is disabled. > > By default the TerminalView will recognize "http" and "https" URLs, and > will open them if the 'gb.desktop' component has been loaded by your > project. > > Note: if you don't want URLs to be recognized, you have to detect them > yourself during the Link event and cancel the event without calling > Link.Select(). > > Finally I modified the IDE so that class + method + line positions are > recognized. > > Enjoy! > > -- > Beno?t Minisini > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 21:10:59 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 20:10:59 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: <7976b221-2948-07ef-24c5-3b5b04c894d3@gmail.com> References: <75ecec7e-fc72-f355-8dc2-6a9e8602c708@gmail.com> <7976b221-2948-07ef-24c5-3b5b04c894d3@gmail.com> Message-ID: Ben i have narrowed this down to enabling or disabling the right hand preview bar. i have completely re-installed gambas from master , did not fix. i deleted gambas settings, this did fix. but problem came back after applying my preferred preferences. I went through each option and finally found the preview bar is causing it for me. Oddly the problem i was having with the focus on charlies test app has also gone away now. I have no clue as to the cause of that. Much thanks BruceS On Tue, 23 Feb 2021 at 18:54, Beno?t Minisini wrote: > Le 22/02/2021 ? 02:41, Bruce Steers a ?crit : > > No my friend sorry it is still the same. > > > > I still don't have any problem with syntax highlighting. It highlights > when the line changes for Gambas, and highlights immediately for other > highlightings that do not rewrite the editor contents. > > Again, make me a video, it would be faster than trying to explain with > hundreds of lines of english. > > Regards, > > -- > Beno?t Minisini > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Feb 23 21:25:03 2021 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 Feb 2021 20:25:03 +0000 Subject: [Gambas-user] TextHighlighting commit In-Reply-To: References: