From leledumbo_cool at yahoo.co.id Wed Nov 1 08:21:47 2017 From: leledumbo_cool at yahoo.co.id (leledumbo) Date: Wed, 1 Nov 2017 00:21:47 -0700 (MST) Subject: [Lazarus] DeleteFile In-Reply-To: References: Message-ID: <1509520907673-0.post@n3.nabble.com> > Hi! I have a CGI program that must delete files from a server and it's owned by www-data which allows me to read a file but not to delete it, even though the file has permissions 777. The folder containing the files I want to delete has permissions "drwxrwxrwx" and it's owned by "root:root" and it's files has the same characteristics. Well, that requires a deeper inspection. Try inspecting return value of SysErrorMessage(GetLastOSError) after a failed deletion. -- Sent from: http://free-pascal-lazarus.989080.n3.nabble.com/ From michael at freepascal.org Wed Nov 1 10:19:55 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 1 Nov 2017 10:19:55 +0100 (CET) Subject: [Lazarus] DeleteFile In-Reply-To: References: Message-ID: On Tue, 31 Oct 2017, Agustìn Gregorieu via Lazarus wrote: > Hi! I have a CGI program that must delete files from a server and it's > owned by www-data which allows me to read a file but not to delete it, > even though the file has permissions 777. The folder containing the files > I want to delete has permissions "drwxrwxrwx" and it's owned by > "root:root" and it's files has the same characteristics. You should check the return value of GetLastOSError. If that does not tell you anything, try stracing your program. For a cgi program, what I usually do is create a shell script which I place instead of the actual binary: #!/bin/sh exec strace -o /tmp/cgi.log /path/to/real/cgi/program.bin Michael. From agustin.gregorieu at outlook.com Wed Nov 1 15:03:08 2017 From: agustin.gregorieu at outlook.com (=?utf-8?B?QWd1c3TDrG4gR3JlZ29yaWV1?=) Date: Wed, 1 Nov 2017 14:03:08 +0000 Subject: [Lazarus] DeleteFile In-Reply-To: References: Message-ID: Thank you for your answer! I've already solved it, using the GetLastOSError I got a "permission denied" message, so after I change some group permissions on the folder I manage to delete correctly the files. On Tue, 31 Oct 2017, Agustìn Gregorieu via Lazarus wrote: Hi! I have a CGI program that must delete files from a server and it's owned by www-data which allows me to read a file but not to delete it, even though the file has permissions 777. The folder containing the files I want to delete has permissions "drwxrwxrwx" and it's owned by "root:root" and it's files has the same characteristics. You should check the return value of GetLastOSError. If that does not tell you anything, try stracing your program. For a cgi program, what I usually do is create a shell script which I place instead of the actual binary: #!/bin/sh exec strace -o /tmp/cgi.log /path/to/real/cgi/program.bin Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bartjunk64 at gmail.com Wed Nov 1 18:39:02 2017 From: bartjunk64 at gmail.com (Bart) Date: Wed, 1 Nov 2017 18:39:02 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <7209bffd-45d7-ace6-b256-baba63f3662b@ya.ru> Message-ID: See also this: http://zarko-gajic.iz.hr/displaying-long-non-breakable-text-file-path-in-messagedlg-truncationellipsis-issues/ It seems TaskDialogIndirect does not realy allow to have what we had before ... Yet another proof that newer <> better. Bart From giuliano.colla at fastwebnet.it Fri Nov 3 18:20:27 2017 From: giuliano.colla at fastwebnet.it (Giuliano Colla) Date: Fri, 3 Nov 2017 18:20:27 +0100 Subject: [Lazarus] Weird object variables access [SOLVED] - Sorry for the noise! In-Reply-To: References: <63550edf-65ac-c21d-f348-2c234e076fa9@fastwebnet.it> <20171023225753.47338f3c@limapholos.matflo.wg> <220bfa55-f2aa-0484-4739-ad2f2441222b@fastwebnet.it> <3cac9696-09fd-27ae-d349-8523cef41d8f@fastwebnet.it> <73156950-ddd4-d4c6-c775-e5d706bf9cb4@fastwebnet.it> <20171025134143.74793ee6@limapholos.matflo.wg> Message-ID: Il 25/10/2017 14:12, Giuliano Colla via Lazarus ha scritto: I raised some noise about procedural variables in Delphi mode, but it turns out that I had failed to notice some discrepancies while porting code back and forth from Delphi to Lazarus. 1. I had failed to notice that RAD Studio X10 when importing the Delphi 7 project had silently dropped a declaration from my source, and this is what gave rise to a compiler error. 2. I had failed to detect that the OnCreate event, which should have properly initialized the procedural variable in my test program was never triggered. When I realized it I did refine and repeat all my tests in Kylix, Delphi 7, X10 and fpc, and the final result is the following: 1) Delphi accepts the assignment of an untyped pointer to a procedural variable even if it is a method pointer. This is true from Delphi 3 up to Kylix, Delphi 7 and Rad Studio X10. 2) The syntax for this particular assignment (again from Delphi 3 to X10) is: @Procvar := aPointer; 3) What Delphi does in that case is: copy the pointer to the procedure in the "code" field of the procedural variable, leaving the "data" field untouched. 4) fpc in Delphi mode does exactly the same. This makes it possible in Delphi, or in Delphi mode fpc, to initialize the procedural variable to point to a method of an object, and subsequently to make it point to any other compatible method of the same object, just by providing an untyped pointer, which may be handled with the many tools which deal only with pointers, for jump tables, queues of actions etc. Of course this is not the best thing to do. An appropriate typecast of the procedural variable to a TMethod, and then explicitly setting the fields would make the code much more readable. That is what common sense and good programming practice would suggest. ObjFpc mode only provides this second option, for the same purpose, and this is certainly better. But, as the purpose of Delphi mode is not to provide what common sense or good programming practice would suggest, but to mimic Delphi behaviour, I raised the question when I detected an apparent fpc bug. It turns out that it was my fault, so, sorry for the noise. Giuliano -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmlandmesser at gmx.de Mon Nov 6 09:26:34 2017 From: jmlandmesser at gmx.de (Landmesser John) Date: Mon, 6 Nov 2017 09:26:34 +0100 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme Message-ID: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> New Linux Distro Manjaro-XFCE and i use a dark theme. But that dark theme is bad for Lazarus IDE. Can i change that as an option for compiling the IDE? With Debian KDE there was in KDE Settings an option to prevent gtk-Apps using color-settings. Perhaps an option in XFCE-Settings? I'll keep on googling ... Tipps are welcome! From aaa5500 at ya.ru Mon Nov 6 12:11:47 2017 From: aaa5500 at ya.ru (Alexey) Date: Mon, 6 Nov 2017 14:11:47 +0300 Subject: [Lazarus] PlotFunction: code style Message-ID: <57faeff1-4048-95f6-b640-210ceb0c6352@ya.ru> I don't understand why in PlotFunction code we have TextOut(ACanvas.Handle, 4, CY, PChar(L), Length(L)); Why not simple ACanvas.TextOut. -- Regards, Alexey -------------- next part -------------- An HTML attachment was scrubbed... URL: From lazarus at kluug.net Mon Nov 6 13:47:51 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Mon, 6 Nov 2017 13:47:51 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> Message-ID: <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> On 31.10.2017 10:01, Werner Pamler via Lazarus wrote: > > Trying to update my VirtualTreeViews version 4 to version 5 I ran into > the problem that the registration unit seems to be duplicate now. I > hope to be able to fix this, but what I want to say is that the > message dialog telling me of this issue is not very helpful - the > interesting parts are hidden by the "...", no way to expand the dialog: > > Since all fixed-size message boxes, sooner or later, will run into > this problem: Shouldn't message dialogs be resizable by default? > A secret insider tip: use Ctrl+C to copy the full text into clipboard. Ondrej From pascaldragon at googlemail.com Mon Nov 6 17:11:06 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Mon, 6 Nov 2017 17:11:06 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> Message-ID: Am 06.11.2017 13:48 schrieb "Ondrej Pokorny via Lazarus" < lazarus at lists.lazarus-ide.org>: On 31.10.2017 10:01, Werner Pamler via Lazarus wrote: > > Trying to update my VirtualTreeViews version 4 to version 5 I ran into the > problem that the registration unit seems to be duplicate now. I hope to be > able to fix this, but what I want to say is that the message dialog telling > me of this issue is not very helpful - the interesting parts are hidden by > the "...", no way to expand the dialog: > > Since all fixed-size message boxes, sooner or later, will run into this > problem: Shouldn't message dialogs be resizable by default? > > A secret insider tip: use Ctrl+C to copy the full text into clipboard. Does this work on all widgetsets? I know that Windows and Qt support this by themselves, but not whether the others or the LCL itself do. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From lazarus at kluug.net Mon Nov 6 17:16:19 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Mon, 6 Nov 2017 17:16:19 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> Message-ID: <10a44606-06b4-cfab-ed42-3e2afcb24981@kluug.net> On 06.11.2017 17:11, Sven Barth via Lazarus wrote: > Am 06.11.2017 13:48 schrieb "Ondrej Pokorny via Lazarus" > >: > > A secret insider tip: use Ctrl+C to copy the full text into clipboard. > > > Does this work on all widgetsets? I know that Windows and Qt support > this by themselves, but not whether the others or the LCL itself do. I remember I implemented it for emulated dialogs (if I am not mistaken all but win32 are emulated). So yes, it should work on all widgetsets. If not, fill a bug report. Ondrej -------------- next part -------------- An HTML attachment was scrubbed... URL: From zeljko at holobit.net Mon Nov 6 17:26:36 2017 From: zeljko at holobit.net (zeljko) Date: Mon, 6 Nov 2017 17:26:36 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: <10a44606-06b4-cfab-ed42-3e2afcb24981@kluug.net> References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> <10a44606-06b4-cfab-ed42-3e2afcb24981@kluug.net> Message-ID: <8bf45961-0579-efef-0fcc-2041b7121e5b@holobit.net> On 06.11.2017 17:16, Ondrej Pokorny via Lazarus wrote: > On 06.11.2017 17:11, Sven Barth via Lazarus wrote: >> Am 06.11.2017 13:48 schrieb "Ondrej Pokorny via Lazarus" >> >: >> >> A secret insider tip: use Ctrl+C to copy the full text into clipboard. >> >> >> Does this work on all widgetsets? I know that Windows and Qt support >> this by themselves, but not whether the others or the LCL itself do. > > I remember I implemented it for emulated dialogs (if I am not mistaken > all but win32 are emulated). So yes, it should work on all widgetsets. > If not, fill a bug report. Qt dialogs supports selection of dialog text and copying (QTextEdit is text control, so you can even use html text in Qt dialogs). zeljko From r030t1 at gmail.com Mon Nov 6 19:13:09 2017 From: r030t1 at gmail.com (R0b0t1) Date: Mon, 6 Nov 2017 12:13:09 -0600 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> Message-ID: Hello friend, On Monday, November 6, 2017, Landmesser John via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > New Linux Distro Manjaro-XFCE and i use a dark theme. > > But that dark theme is bad for Lazarus IDE. > > Can i change that as an option for compiling the IDE? > > With Debian KDE there was in KDE Settings an option to prevent gtk-Apps using color-settings. > > Perhaps an option in XFCE-Settings? > > I'll keep on googling ... > > Tipps are welcome! > Theming is typically handled by your toolkit. For GTK, you will need to modify files in a location like "~/.themes" or "~/.gtkrc-2." E.g. https://developer.gnome.org/gtk3/stable/theming.html and https://wiki.archlinux.org/index.php/GTK%2B#Configuration. Theming can also be handled by your application. The best support for theming tends to be implemented in this way. Unfortunately from a user's standpoint this means each program must be customized separately. On the other hand, toolkit wide theming support tends to not be very good. Form components (like a SynEdit) may be drawn with colors not taken from the toolkit's configuration. Theming support for Lazarus might be a tall order but I think it would be worth it. See Visual Studio's dark theme, for example. Cheers, R0b0t1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From r030t1 at gmail.com Mon Nov 6 19:32:18 2017 From: r030t1 at gmail.com (R0b0t1) Date: Mon, 6 Nov 2017 12:32:18 -0600 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> Message-ID: Hello again, On Monday, November 6, 2017, R0b0t1 wrote: > Hello friend, > > On Monday, November 6, 2017, Landmesser John via Lazarus < lazarus at lists.lazarus-ide.org> wrote: >> New Linux Distro Manjaro-XFCE and i use a dark theme. >> >> But that dark theme is bad for Lazarus IDE. >> >> Can i change that as an option for compiling the IDE? >> >> With Debian KDE there was in KDE Settings an option to prevent gtk-Apps using color-settings. >> >> Perhaps an option in XFCE-Settings? >> >> I'll keep on googling ... >> >> Tipps are welcome! >> > > Theming is typically handled by your toolkit. For GTK, you will need to modify files in a location like "~/.themes" or "~/.gtkrc-2." > > E.g. https://developer.gnome.org/gtk3/stable/theming.html and https://wiki.archlinux.org/index.php/GTK%2B#Configuration. > > Theming can also be handled by your application. The best support for theming tends to be implemented in this way. Unfortunately from a user's standpoint this means each program must be customized separately. On the other hand, toolkit wide theming support tends to not be very good. Form components (like a SynEdit) may be drawn with colors not taken from the toolkit's configuration. > > Theming support for Lazarus might be a tall order but I think it would be worth it. See Visual Studio's dark theme, for example. > > Cheers, > R0b0t1 Is http://wiki.lazarus.freepascal.org/UserSuppliedSchemeSettings insufficient in any way? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mailinglists at geldenhuys.co.uk Mon Nov 6 23:23:07 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 6 Nov 2017 22:23:07 +0000 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> Message-ID: <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> On 2017-11-06 18:13, R0b0t1 via Lazarus wrote: > Theming support for Lazarus might be a tall order but I think it would be > worth it. See Visual Studio's dark theme, for example. Unfortunately the Lazarus developers will disagree with you. They want "native look and feel" at all costs. So individual application theming is not on their priority list. I've asked for this since 2006. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Mon Nov 6 23:27:19 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 6 Nov 2017 22:27:19 +0000 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> Message-ID: <5edb66a2-7c63-62bd-cf59-cce8b0e03bb4@geldenhuys.co.uk> On 2017-11-06 16:11, Sven Barth via Lazarus wrote: > Does this work on all widgetsets? I just tested here with Lazarus IDE (trunk) under FreeBSD targeting LCL-GTK2. Ctrl+C on any message dialog doesn't nothing. Regards, Graeme From werner.pamler at freenet.de Tue Nov 7 00:34:20 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 00:34:20 +0100 Subject: [Lazarus] "Ambiguous unit found" message In-Reply-To: <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> References: <4a77edbe-1f5b-b3d8-cc4d-b033ef8c7e3b@freenet.de> <03624673-2c3c-91d5-e1dd-058eabb41e32@kluug.net> Message-ID: <6499b909-d06a-1e82-849e-c8c35bcb153c@freenet.de> Am 06.11.2017 um 13:47 schrieb Ondrej Pokorny via Lazarus: > A secret insider tip: use Ctrl+C to copy the full text into clipboard. I just had that beast again, and, Ondrej, you tip is magnificent! This is the first time that I saw in which folder the duplicate ppu's are. From r030t1 at gmail.com Tue Nov 7 00:48:10 2017 From: r030t1 at gmail.com (R0b0t1) Date: Mon, 6 Nov 2017 17:48:10 -0600 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> Message-ID: Hello again, very sorry for the three posts. It is the case I am not very smart. Please excuse my poor reading comprehension. On Monday, November 6, 2017, R0b0t1 wrote: > Hello again, > > On Monday, November 6, 2017, R0b0t1 wrote: >> Hello friend, >> >> On Monday, November 6, 2017, Landmesser John via Lazarus < lazarus at lists.lazarus-ide.org> wrote: >>> New Linux Distro Manjaro-XFCE and i use a dark theme. >>> >>> But that dark theme is bad for Lazarus IDE. >>> >>> Can i change that as an option for compiling the IDE? >>> >>> With Debian KDE there was in KDE Settings an option to prevent gtk-Apps using color-settings. >>> >>> Perhaps an option in XFCE-Settings? >>> >>> I'll keep on googling ... >>> >>> Tipps are welcome! >>> >> >> Theming is typically handled by your toolkit. For GTK, you will need to modify files in a location like "~/.themes" or "~/.gtkrc-2." >> >> E.g. https://developer.gnome.org/gtk3/stable/theming.html and https://wiki.archlinux.org/index.php/GTK%2B#Configuration. >> >> Theming can also be handled by your application. The best support for theming tends to be implemented in this way. Unfortunately from a user's standpoint this means each program must be customized separately. On the other hand, toolkit wide theming support tends to not be very good. Form components (like a SynEdit) may be drawn with colors not taken from the toolkit's configuration. >> >> Theming support for Lazarus might be a tall order but I think it would be worth it. See Visual Studio's dark theme, for example. >> >> Cheers, >> R0b0t1 > > Is http://wiki.lazarus.freepascal.org/UserSuppliedSchemeSettings insufficient in any way? I realize now you were asking to disable theming in Lazarus. That answer is related to the contents of my other posts, but for GTK you may use the environment variable GTK_THEME: https://developer.gnome.org/gtk3/stable/gtk-running.html. GTK_THEME=theme:variant If you have some time I would invite you to comment on the forum as it is more active. It would be nice to see pictures of the interface quirks you take exception to. Cheers, R0b0t1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From r030t1 at gmail.com Tue Nov 7 00:58:08 2017 From: r030t1 at gmail.com (R0b0t1) Date: Mon, 6 Nov 2017 17:58:08 -0600 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: Hello, thanks for your input. On Monday, November 6, 2017, Graeme Geldenhuys via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > On 2017-11-06 18:13, R0b0t1 via Lazarus wrote: >> >> Theming support for Lazarus might be a tall order but I think it would be >> worth it. See Visual Studio's dark theme, for example. > > Unfortunately the Lazarus developers will disagree with you. They want "native look and feel" at all costs. So individual application theming is not on their priority list. I've asked for this since 2006. > > Regards, > Graeme > The issue here is that the native theming clashes with some built in Lazarus settings. E.g. if you look at the link I posted that showcases SynEdit color schemes you will notice there is an image asset that does not blend in well with dark backgrounds. These issues are typical, but they mean Lazarus does not currently support a native look and feel. I don't doubt you are relaying the developer's statements accurately, but this probably needs to be looked at again. Integrated theming is a good idea because unless all assets are obtained from the windowing toolkit then there is no way to know they will mesh well with a given color scheme. The theming support could be very minimal, and might amount to a few sets of bitmap assets and a review of existing UI code to ensure there are no hardcoded settings. OP, if you could supply screenshots it would be appreciated. Respectfully, R0b0t1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Tue Nov 7 10:55:52 2017 From: aaa5500 at ya.ru (Alexey) Date: Tue, 7 Nov 2017 12:55:52 +0300 Subject: [Lazarus] PlotFunction patch declined? Message-ID: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> https://bugs.freepascal.org/view.php?id=32653 wp wrote: >>Sorry I will not fix this one because it opens another Pandora to add features well-established in TAChart. Pls apply the patch. it makes several plots on one panel. What Pandora?? I don't know Pandora, I use Laz and LCL. -- Regards, Alexey From mschnell at lumino.de Tue Nov 7 11:14:29 2017 From: mschnell at lumino.de (Michael Schnell) Date: Tue, 7 Nov 2017 11:14:29 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> Message-ID: On 07.11.2017 10:55, Alexey via Lazarus wrote: > https://bugs.freepascal.org/view.php?id=32653 > > wp wrote: >>Sorry I will not fix this one because it opens another > Pandora to add features well-established in TAChart. > > Pls apply the patch. it makes several plots on one panel. What > Pandora?? I don't know Pandora, I use Laz and LCL. > -> https://en.wikipedia.org/wiki/Pandora%27s_box :-) -Michael From getmem1 at gmail.com Tue Nov 7 11:15:18 2017 From: getmem1 at gmail.com (=?UTF-8?B?QmFsw6F6cyBTesOpa2VseQ==?=) Date: Tue, 7 Nov 2017 12:15:18 +0200 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> Message-ID: @Alexey >>What Pandora?? I don't know Pandora, I use Laz and LCL. Today the phrase "to open Pandora's box" means to perform an action that may seem small or innocent, but that turns out to have severely detrimental and far-reaching negative consequences.(https://en. wikipedia.org/wiki/Pandora%27s_box) What @wp meant is you can already use TAChart, developing similar features in PlotFunction in parallel would be an overkill. On Tue, Nov 7, 2017 at 11:55 AM, Alexey via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > https://bugs.freepascal.org/view.php?id=32653 > > wp wrote: >>Sorry I will not fix this one because it opens another Pandora > to add features well-established in TAChart. > > Pls apply the patch. it makes several plots on one panel. What Pandora?? I > don't know Pandora, I use Laz and LCL. > > -- > Regards, > Alexey > > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pascaldragon at googlemail.com Tue Nov 7 11:18:47 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Tue, 7 Nov 2017 11:18:47 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> Message-ID: Am 07.11.2017 10:56 schrieb "Alexey via Lazarus" < lazarus at lists.lazarus-ide.org>: https://bugs.freepascal.org/view.php?id=32653 wp wrote: >>Sorry I will not fix this one because it opens another Pandora to add features well-established in TAChart. Pls apply the patch. it makes several plots on one panel. What Pandora?? I don't know Pandora, I use Laz and LCL. The Box of Pandora is from Greek mythology (look up its meaning on Google). It's sometimes used in a context where "opening a can of worms" is also appropriate - namely a situation that one doesn't want to do because one doesn't want to deal with the consequences. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From werner.pamler at freenet.de Tue Nov 7 11:40:15 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 11:40:15 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> Message-ID: <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> Am 07.11.2017 um 10:55 schrieb Alexey via Lazarus: > https://bugs.freepascal.org/view.php?id=32653 > > wp wrote: >>Sorry I will not fix this one because it opens another > Pandora to add features well-established in TAChart. > > Pls apply the patch. it makes several plots on one panel. What > Pandora?? I don't know Pandora, I use Laz and LCL. First: in your patch it is not clear which curve belongs to which function. Therefore, the next thing which will be requested it a legend. I am 100% sure! Second: your patch is valid only for the event panel, not for the expression panel. Next request will be to enter several expressions there; this requires a proper design-time editor. And the more features are added the more requests will come up... In essence, all these patches will add features to the plot funtion panel which are well-established in TAChart. It is a waste of time to bring two charting packages to a comparable level and to maintain them. And in fact, there's even a discussion going on among the developers to move plotfunction out of Lazarus into ccr. Did you ever look at TAChart? It may be a bit intimidating at first sight, but I wrote a bunch of tutorials in the wiki. I am absolutely sure that you will master this. The function series which does what lazplotfunction is doing (plus a lot more) is explained in http://wiki.lazarus.freepascal.org/TAChart_Tutorial:_Function_Series. From michael at freepascal.org Tue Nov 7 11:53:14 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Tue, 7 Nov 2017 11:53:14 +0100 (CET) Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> Message-ID: On Tue, 7 Nov 2017, Werner Pamler via Lazarus wrote: > Am 07.11.2017 um 10:55 schrieb Alexey via Lazarus: >> https://bugs.freepascal.org/view.php?id=32653 >> >> wp wrote: >>Sorry I will not fix this one because it opens another >> Pandora to add features well-established in TAChart. >> >> Pls apply the patch. it makes several plots on one panel. What >> Pandora?? I don't know Pandora, I use Laz and LCL. > > First: in your patch it is not clear which curve belongs to which > function. Therefore, the next thing which will be requested it a legend. > I am 100% sure! > > Second: your patch is valid only for the event panel, not for the > expression panel. Next request will be to enter several expressions > there; this requires a proper design-time editor. > > And the more features are added the more requests will come up... > > In essence, all these patches will add features to the plot funtion > panel which are well-established in TAChart. It is a waste of time to > bring two charting packages to a comparable level and to maintain them. > And in fact, there's even a discussion going on among the developers to > move plotfunction out of Lazarus into ccr. Are you going to make sure TAChart can do the plot during design-time ? Michael. From werner.pamler at freenet.de Tue Nov 7 12:28:12 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 12:28:12 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> Message-ID: <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> Am 07.11.2017 um 11:53 schrieb Michael Van Canneyt via Lazarus: > Are you going to make sure TAChart can do the plot during design-time ? I am working at it, there are issues with registration of the new TExpressionSeries from a separate package (it's not in trunk, yet). But anyway: why is the designtime argument so important to you? ExpressionPanel cannot plot a function as simple as "sin(x)" at designtime because bcMath is not added to the Builtins of the parser. And if it were, other similarly simple functions such as "tan(x)" would not work because they are not registered. So, the designtime argument has only very limited weight. But of course, there is always the possibility that I am missing some features of the fpexprparser. From michael at freepascal.org Tue Nov 7 12:50:40 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Tue, 7 Nov 2017 12:50:40 +0100 (CET) Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> Message-ID: On Tue, 7 Nov 2017, Werner Pamler via Lazarus wrote: > Am 07.11.2017 um 11:53 schrieb Michael Van Canneyt via Lazarus: >> Are you going to make sure TAChart can do the plot during design-time ? > > I am working at it, there are issues with registration of the new > TExpressionSeries from a separate package (it's not in trunk, yet). > > But anyway: why is the designtime argument so important to you? I am _very_ surprised by this question. Because Lazarus is RAD, obviously ? No-code development ? > ExpressionPanel cannot plot a function as simple as "sin(x)" at > designtime because bcMath is not added to the Builtins of the parser. > And if it were, other similarly simple functions such as "tan(x)" would > not work because they are not registered. So, the designtime argument > has only very limited weight. In your eyes, yes. In my eyes, this is _the_ argument: TDataset has the possibility to show the data at design time. In it's day, this was revolutionary, and still today - 20 years after the introduction there are very little environments that can repeat this. (in fact, I know of none) The same applies for plotpanel. If TAChart cannot show a series in designtime, then that is a huge shortcoming in my eyes. (Never having used TAChart, I don't know if it can or not, this is a hypothetical statement) > But of course, there is always the > possibility that I am missing some features of the fpexprparser. No, you are not missing it. I see that I missed to commit a patch to plotpanel, because here sin(x) works. I have too many unfinished patches in my source tree :/ Should I still commit it, or it is not necessary any more ? Michael. From werner.pamler at freenet.de Tue Nov 7 13:23:36 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 13:23:36 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> Message-ID: <1dc6a836-fca6-4e10-9fc2-12a5d2cdcac7@freenet.de> Am 07.11.2017 um 12:50 schrieb Michael Van Canneyt via Lazarus: > I see that I missed to commit a patch to plotpanel, because here > sin(x) works. I have too many unfinished patches in my source tree :/ > > Should I still commit it, or it is not necessary any more ? Please commit it. I think we should fix the shortcomings of plotpanel. There were already a few bugs which I fixed - look at the svn commit notes. I'm just against adding too many new features which just will be appetizers for even more new features. In the meantime I put the TExpressionSeries into the standard TAChart package where everything works fine (in order to remove the dependence on fpexprparser, maybe I'll move it to a separate package later once I know how to get the registration for the series editor done). Here are short instruction how to use it * Add a TChart on the form * Double-click the chart * In the "Edit series" dialog select "+ Add" and "Math expression series" at the very bottom. * In the Object Tree, select the newly added serie, Chart1ExpressionSeries1 * Enter the function term, e.g. 'sin(x)*exp(-0.1x)' * Define the x range for which the function will be plotted: Select "Range", enter the minimum and maximum x values, e.g. XMin = 0, XMax = 50, set UseXMin and UseMax to true in order to apply this axis range. * Set AutoExtentY to true in order to auto-scale the y axis. * Voila - see the attached screenshot (which is taken at designtime, of course). Michael, the expression panel allows to add identifiers at designtime. I do understand this for variables, and, in fact, this is great to parameterize the function or to use natural constants. But the IdentifierType can also be itFunctionCallBack, itFunctionHandler, itFunctionNode. Can you explain how these should be handled in practice? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gehbmdghpmljpdpk.png Type: image/png Size: 6612 bytes Desc: not available URL: From michael at freepascal.org Tue Nov 7 13:42:47 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Tue, 7 Nov 2017 13:42:47 +0100 (CET) Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <1dc6a836-fca6-4e10-9fc2-12a5d2cdcac7@freenet.de> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <1dc6a836-fca6-4e10-9fc2-12a5d2cdcac7@freenet.de> Message-ID: On Tue, 7 Nov 2017, Werner Pamler via Lazarus wrote: > Am 07.11.2017 um 12:50 schrieb Michael Van Canneyt via Lazarus: >> I see that I missed to commit a patch to plotpanel, because here sin(x) >> works. I have too many unfinished patches in my source tree :/ >> >> Should I still commit it, or it is not necessary any more ? > > Please commit it. I think we should fix the shortcomings of plotpanel. There > were already a few bugs which I fixed - look at the svn commit notes. I'm > just against adding too many new features which just will be appetizers for > even more new features. OK. > > In the meantime I put the TExpressionSeries into the standard TAChart package > where everything works fine (in order to remove the dependence on > fpexprparser, maybe I'll move it to a separate package later once I know how > to get the registration for the series editor done). I don't see why you would need a separate package. fpexprparser is in the FCL since 10 years or so. A separate unit is definitely good so as to minimize the dependencies of the basic tachart unit, but a package ? Seems overkill to me ? > Here are short instruction how to use it > > * Add a TChart on the form > * Double-click the chart > * In the "Edit series" dialog select "+ Add" and "Math expression > series" at the very bottom. > * In the Object Tree, select the newly added serie, > Chart1ExpressionSeries1 > * Enter the function term, e.g. 'sin(x)*exp(-0.1x)' > * Define the x range for which the function will be plotted: Select > "Range", enter the minimum and maximum x values, e.g. XMin = 0, XMax > = 50, set UseXMin and UseMax to true in order to apply this axis range. > * Set AutoExtentY to true in order to auto-scale the y axis. > * Voila - see the attached screenshot (which is taken at designtime, > of course). > > Michael, the expression panel allows to add identifiers at designtime. I do > understand this for variables, and, in fact, this is great to parameterize > the function or to use natural constants. But the IdentifierType can also be > itFunctionCallBack, itFunctionHandler, itFunctionNode. Can you explain how > these should be handled in practice? These values can only be handled in code. Of the three, itFunctionHandler can be handled by using an event handler. But itFunctionCallBack,itFunctionNode make no sense in the designer. For simplicity, the plot panel uses the default collection editor, so the other values are exposed as well in the designer. A specialized collection editor would simply hide these possibilities. (and would also disallow editing the X variable) Michael. From aaa5500 at ya.ru Tue Nov 7 14:11:16 2017 From: aaa5500 at ya.ru (Alexey) Date: Tue, 7 Nov 2017 16:11:16 +0300 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> Message-ID: <4216da31-6850-eb23-d839-2f0f9d738997@ya.ru>  >missing some features of the fpexprparser. I couldn't find fpexprparser folders in FPC 3.0.2 and Laz- where is it? -- Regards, Alexey From werner.pamler at freenet.de Tue Nov 7 14:17:33 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 14:17:33 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: <4216da31-6850-eb23-d839-2f0f9d738997@ya.ru> References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <4216da31-6850-eb23-d839-2f0f9d738997@ya.ru> Message-ID: Am 07.11.2017 um 14:11 schrieb Alexey via Lazarus: > I couldn't find fpexprparser folders in FPC 3.0.2 and Laz- where is it? (fpc)\source\packages\fcl-base\src\fpexprpars.pp From jmlandmesser at gmx.de Tue Nov 7 14:29:21 2017 From: jmlandmesser at gmx.de (Landmesser John) Date: Tue, 7 Nov 2017 14:29:21 +0100 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: <581be0bc-ca6f-0b0d-e559-fe3dad07c376@gmx.de> Thanks for your answers! I reverted XFCE color scheme dark to normal ... no trouble any more :-) Example: TStringGrid.AlternateColor := clMoneygreen -> unreadable with a dark color scheme -> white font on white background, Am 07.11.2017 um 00:58 schrieb R0b0t1 via Lazarus: > Hello, thanks for your input. > > On Monday, November 6, 2017, Graeme Geldenhuys via Lazarus > > > wrote: > > On 2017-11-06 18:13, R0b0t1 via Lazarus wrote: > >> > >> Theming support for Lazarus might be a tall order but I think it > would be > >> worth it. See Visual Studio's dark theme, for example. > > > > Unfortunately the Lazarus developers will disagree with you. They > want "native look and feel" at all costs. So individual application > theming is not on their priority list. I've asked for this since 2006. > > > > Regards, > >   Graeme > > > > The issue here is that the native theming clashes with some built in > Lazarus settings. E.g. if you look at the link I posted that showcases > SynEdit color schemes you will notice there is an image asset that > does not blend in well with dark backgrounds. > > These issues are typical, but they mean Lazarus does not currently > support a native look and feel. > > I don't doubt you are relaying the developer's statements accurately, > but this probably needs to be looked at again. > > Integrated theming is a good idea because unless all assets are > obtained from the windowing toolkit then there is no way to know they > will mesh well with a given color scheme. The theming support could be > very minimal, and might amount to a few sets of bitmap assets and a > review of existing UI code to ensure there are no hardcoded settings. > > > OP, if you could supply screenshots it would be appreciated. > > Respectfully, >     R0b0t1 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Tue Nov 7 15:11:02 2017 From: aaa5500 at ya.ru (Alexey) Date: Tue, 7 Nov 2017 17:11:02 +0300 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <4216da31-6850-eb23-d839-2f0f9d738997@ya.ru> Message-ID: Can you add to FPC some example which uses this engine? > (fpc)\source\packages\fcl-base\src\fpexprpars.pp > -- Regards, Alexey From werner.pamler at freenet.de Tue Nov 7 15:20:35 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 15:20:35 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <1dc6a836-fca6-4e10-9fc2-12a5d2cdcac7@freenet.de> Message-ID: Am 07.11.2017 um 13:42 schrieb Michael Van Canneyt via Lazarus: > I don't see why you would need a separate package. fpexprparser is in the > FCL since 10 years or so. A separate unit is definitely good so as to > minimize the dependencies of the basic tachart unit, but a package ? > Seems overkill to me ? Maybe I am paranoid here or oversensitive because it has never been clear to me whether "unused" code is linked into a program or not. When there is designtime or initialization code "unused" code may be called internally although it is never called explicitly by the program itself. To be specific: How much of the otherwise unused fpexprparser is linked into a program if the initialization code of the TExpressionSeries unit adds the series to the list needed by the series editor at designtime? Probably none, but I am not sure... Therefore I follow the strategy to keep packages as slim as possible and I want them to contain only the code they need for their main job. For TAChart, the main job is to plot data, not to evaluate functions. Therefore, the formula parser should stay outside the chart package in this way of thinking. In particular since there are other libraries to parse math expressions, such as "symbolic" which is distributed along with fpc as well. Of course, runtime code should be separated from designtime code in the first place. >> Michael, the expression panel allows to add identifiers at >> designtime. I do understand this for variables, and, in fact, this is >> great to parameterize the function or to use natural constants. But >> the IdentifierType can also be itFunctionCallBack, itFunctionHandler, >> itFunctionNode. Can you explain how these should be handled in practice? > > These values can only be handled in code. Of the three, > itFunctionHandler can be handled by using an event handler. > But itFunctionCallBack,itFunctionNode make no sense in the designer. This means: If I select itFunctionHandler then the events OnGetFunctionValue and OnGetVariableValue are fired? In this case TPlotExpressionPanel would behave like TPlotFunctionPanel? BTW I was suprised to see a collection editor here although there is no explicit code defining it. But then I realized that it's just the clever usage of the word "published" and the selection of the specific inherited class which achieves this. It is amazing how seamlessly the design editors of Lazarus are integrated. From werner.pamler at freenet.de Tue Nov 7 15:26:22 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Tue, 7 Nov 2017 15:26:22 +0100 Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <4216da31-6850-eb23-d839-2f0f9d738997@ya.ru> Message-ID: <278b9bd5-9cf0-46ef-f86a-129c570730fe@freenet.de> Am 07.11.2017 um 15:11 schrieb Alexey via Lazarus: > Can you add to FPC some example which uses this engine? >> (fpc)\source\packages\fcl-base\src\fpexprpars.pp http://wiki.lazarus.freepascal.org/How_To_Use_TFPExpressionParser And, of course, the TPlotExpressionPanel (the other component in the package "lazplotfunction") is a nice application of it (see TExpressionControlPlotter.Create, .SetExpression, and .CalcFunction). From michael at freepascal.org Tue Nov 7 15:41:44 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Tue, 7 Nov 2017 15:41:44 +0100 (CET) Subject: [Lazarus] PlotFunction patch declined? In-Reply-To: References: <8e79eda2-9027-578a-1265-af681cc00bbe@ya.ru> <12ab8adb-350b-37e6-5309-f192e80759ea@freenet.de> <166a8d4f-872d-d2e9-fd7b-598f040014f5@freenet.de> <1dc6a836-fca6-4e10-9fc2-12a5d2cdcac7@freenet.de> Message-ID: On Tue, 7 Nov 2017, Werner Pamler via Lazarus wrote: > Am 07.11.2017 um 13:42 schrieb Michael Van Canneyt via Lazarus: > >> I don't see why you would need a separate package. fpexprparser is in the >> FCL since 10 years or so. A separate unit is definitely good so as to >> minimize the dependencies of the basic tachart unit, but a package ? >> Seems overkill to me ? > > Maybe I am paranoid here or oversensitive because it has never been > clear to me whether "unused" code is linked into a program or not. When > there is designtime or initialization code "unused" code may be called > internally although it is never called explicitly by the program itself. > To be specific: How much of the otherwise unused fpexprparser is linked > into a program if the initialization code of the TExpressionSeries unit > adds the series to the list needed by the series editor at designtime? > Probably none, but I am not sure... Therefore I follow the strategy to > keep packages as slim as possible and I want them to contain only the > code they need for their main job. For TAChart, the main job is to plot > data, not to evaluate functions. Therefore, the formula parser should > stay outside the chart package in this way of thinking. In particular > since there are other libraries to parse math expressions, such as > "symbolic" which is distributed along with fpc as well. > > Of course, runtime code should be separated from designtime code in the > first place. Well, that was going to be my question. Designtime should be separated from runtime to begin with. Normally you should have 2 packages. One runtime, one designtime... But if you make the expression chart a different component in a different unit, (as I suggested) then it will not link in the fpexprparser unit at all unless you actually use this component. But I know too little about the TAChart architecture to comment further. >> >> These values can only be handled in code. Of the three, >> itFunctionHandler can be handled by using an event handler. >> But itFunctionCallBack,itFunctionNode make no sense in the designer. > This means: If I select itFunctionHandler then the events > OnGetFunctionValue and OnGetVariableValue are fired? In this case > TPlotExpressionPanel would behave like TPlotFunctionPanel? > The event of the collection item will be triggered if you use itFunctionHandler, yes. But obviously only during runtime. > BTW I was suprised to see a collection editor here although there is no > explicit code defining it. But then I realized that it's just the clever > usage of the word "published" and the selection of the specific > inherited class which achieves this. It is amazing how seamlessly the > design editors of Lazarus are integrated. Hm. I no longer even think about such things. It's just normal. Shows how spoiled I am, I guess ;) Michael. From mailinglists at geldenhuys.co.uk Tue Nov 7 21:14:48 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Tue, 7 Nov 2017 20:14:48 +0000 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: On 2017-11-06 23:58, R0b0t1 wrote: > Integrated theming is a good idea because unless all assets are obtained > from the windowing toolkit then there is no way to know they will mesh well > with a given color scheme. As the saying goes: “You are preaching to the choir”. ;-) I fully agree with you, hence fpGUI Toolkit supports individual application theming. As standard, every fpGUI application can also switch between the 8 built-in standard themes with the --theme command line parameter. http://geldenhuys.co.uk/~graemeg/themes/start.html Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From michael at freepascal.org Tue Nov 7 21:20:39 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Tue, 7 Nov 2017 21:20:39 +0100 (CET) Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: On Tue, 7 Nov 2017, Graeme Geldenhuys via Lazarus wrote: > On 2017-11-06 23:58, R0b0t1 wrote: >> Integrated theming is a good idea because unless all assets are obtained >> from the windowing toolkit then there is no way to know they will mesh well >> with a given color scheme. > > As the saying goes: “You are preaching to the choir”. ;-) I fully agree > with you, hence fpGUI Toolkit supports individual application theming. > As standard, every fpGUI application can also switch between the 8 > built-in standard themes with the --theme command line parameter. > > http://geldenhuys.co.uk/~graemeg/themes/start.html GTK can do this out of the box. https://unix.stackexchange.com/questions/14129/gtk-enable-set-dark-theme-on-a-per-application-basis No doubt, so can Qt. Michael. From mailinglists at geldenhuys.co.uk Tue Nov 7 21:29:27 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Tue, 7 Nov 2017 20:29:27 +0000 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: <10467f23-7def-5a60-31da-64ec66d0736a@geldenhuys.co.uk> On 2017-11-07 20:20, Michael Van Canneyt via Lazarus wrote: > GTK can do this out of the box. And where was this reply in 2006! :-) That's really good news to know that it is possible with GTK. I take it, it only works with GTK3 though. From what I remember, LCL-GTK3 is not stable yet (I might be wrong though). Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From nc-gaertnma at netcologne.de Tue Nov 7 21:51:34 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 7 Nov 2017 21:51:34 +0100 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: <10467f23-7def-5a60-31da-64ec66d0736a@geldenhuys.co.uk> References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> <10467f23-7def-5a60-31da-64ec66d0736a@geldenhuys.co.uk> Message-ID: <20171107215134.2dbda29c@limapholos.matflo.wg> On Tue, 7 Nov 2017 20:29:27 +0000 Graeme Geldenhuys via Lazarus wrote: > On 2017-11-07 20:20, Michael Van Canneyt via Lazarus wrote: > > GTK can do this out of the box. > And where was this reply in 2006! :-) That's really good news to know > that it is possible with GTK. I take it, it only works with GTK3 though. For gtk2: GTK2_RC_FILES=/usr/share/themes/HighContrast/gtk-2.0/gtkrc ./project1 Mattias From donald at ziesig.org Tue Nov 7 23:30:23 2017 From: donald at ziesig.org (Donald Ziesig) Date: Tue, 7 Nov 2017 17:30:23 -0500 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: <0c2861c4-501d-2f2a-7983-548d00678b38@ziesig.org> On 11/07/2017 03:20 PM, Michael Van Canneyt via Lazarus wrote: > > > On Tue, 7 Nov 2017, Graeme Geldenhuys via Lazarus wrote: > >> On 2017-11-06 23:58, R0b0t1 wrote: >>> Integrated theming is a good idea because unless all assets are >>> obtained >>> from the windowing toolkit then there is no way to know they will >>> mesh well >>> with a given color scheme. >> >> As the saying goes: “You are preaching to the choir”. ;-) I fully >> agree with you, hence fpGUI Toolkit supports individual application >> theming. As standard, every fpGUI application can also switch between >> the 8 built-in standard themes with the --theme command line parameter. >> >>   http://geldenhuys.co.uk/~graemeg/themes/start.html > > GTK can do this out of the box. > > https://unix.stackexchange.com/questions/14129/gtk-enable-set-dark-theme-on-a-per-application-basis > > > No doubt, so can Qt. > > Michael. > > I give up!  After looking at most of the links in this thread, I can not get the Lazarus IDE to use anything other than the default theme ('black on white - with language highlighting).  I would really like to use a dark theme (white on black or gray - again with language highlighting). I normally start lazarus from a .desktop file, but even dropping back to the command line (with --pcp= ... ) nothing I have done changes the theme. Could someone give me a command line that I could adapt to produce a dark theme? Thanks, Don Ziesig -------------- next part -------------- An HTML attachment was scrubbed... URL: From nc-gaertnma at netcologne.de Wed Nov 8 00:30:45 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Wed, 8 Nov 2017 00:30:45 +0100 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: <0c2861c4-501d-2f2a-7983-548d00678b38@ziesig.org> References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> <0c2861c4-501d-2f2a-7983-548d00678b38@ziesig.org> Message-ID: <20171108003045.5096641f@limapholos.matflo.wg> On Tue, 7 Nov 2017 17:30:23 -0500 Donald Ziesig via Lazarus wrote: >[...] > I give up! I don't see another mail from you. Where are your tries? >  After looking at most of the links in this thread, I can not > get the Lazarus IDE to use anything other than the default theme ('black > on white - with language highlighting).  I would really like to use a > dark theme (white on black or gray - again with language highlighting). > > I normally start lazarus from a .desktop file, but even dropping back to > the command line (with --pcp= ... ) nothing I have done changes the theme. > > Could someone give me a command line that I could adapt to produce a > dark theme? 1. Download and install a dark theme for your distribution. Beware there are many broken and outdated themes for gtk2. So you have to try a few. For example NOX. 2. Start the IDE with: GTK2_RC_FILES=/usr/share/themes/NOX/gtk-2.0/gtkrc ./lazarus 3. Set the source editor colors: Tools / Options / Display / Editor / Display / Colors 3.1 Change Default to Twilight. Mattias From r030t1 at gmail.com Wed Nov 8 01:40:28 2017 From: r030t1 at gmail.com (R0b0t1) Date: Tue, 7 Nov 2017 18:40:28 -0600 Subject: [Lazarus] Howto disable Lazarus IDE using a XFCE dark theme In-Reply-To: References: <66653a63-a74e-ec1b-c8e6-b79ed5912e75@gmx.de> <7785f3ac-e3df-a05a-a5f9-9c777455cf22@geldenhuys.co.uk> Message-ID: Hello, On Tuesday, November 7, 2017, Michael Van Canneyt via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > > > On Tue, 7 Nov 2017, Graeme Geldenhuys via Lazarus wrote: > >> On 2017-11-06 23:58, R0b0t1 wrote: >>> >>> Integrated theming is a good idea because unless all assets are obtained >>> from the windowing toolkit then there is no way to know they will mesh well >>> with a given color scheme. >> >> As the saying goes: “You are preaching to the choir”. ;-) I fully agree with you, hence fpGUI Toolkit supports individual application theming. As standard, every fpGUI application can also switch between the 8 built-in standard themes with the --theme command line parameter. >> >> http://geldenhuys.co.uk/~graemeg/themes/start.html > > GTK can do this out of the box. > > https://unix.stackexchange.com/questions/14129/gtk-enable-set-dark-theme-on-a-per-application-basis > > No doubt, so can Qt. > OP mentioned successfully using these facilities. As I tried to explain, the issue is that programs will use e.g. bitmaps with white borders or hardcoded colors that are hard to notice without changing the theme. Even if a developer does look for these things, they might not have the time to create new assets. Another poster mentioned many GTK themes being broken. I agree, but I think they are not broken, but are falling prey to the above. Strangely even Windows has these problems with its default theming support (for OS dialogs and Win32 GUI elements). Cheers, R0b0t1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From markbass72 at zoho.com Wed Nov 8 08:47:31 2017 From: markbass72 at zoho.com (Marcello) Date: Wed, 8 Nov 2017 08:47:31 +0100 Subject: [Lazarus] Quick Video: A Web Applicationx In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> Message-ID: <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> On 30/04/2017 21:42, Michael Van Canneyt via Lazarus wrote: > >>>> I'm afraid that the world is still waiting for a good GUI designer for >>>> web. >>>> >>> >>> We will deliver it :) >> >> >> Can you share with us when?  :) > > Current tentative schedule is september. But no guarantees. It doesn't > depend only on me :) > > But today an important milestone (for me) was reached, so there is > hope :) > > Michael. > > This news is really interesting. Are there any information about it? regards nomorelogic From michael at freepascal.org Wed Nov 8 08:57:46 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 08:57:46 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> Message-ID: On Wed, 8 Nov 2017, Marcello via Lazarus wrote: > On 30/04/2017 21:42, Michael Van Canneyt via Lazarus wrote: >> >>>>> I'm afraid that the world is still waiting for a good GUI designer for >>>>> web. >>>>> >>>> >>>> We will deliver it :) >>> >>> >>> Can you share with us when?  :) >> >> Current tentative schedule is september. But no guarantees. It doesn't >> depend only on me :) >> >> But today an important milestone (for me) was reached, so there is >> hope :) >> >> Michael. >> >> > > This news is really interesting. > Are there any information about it? There is. Normally, early december a RC version of pas2js will be released. pasjs currently is more or less at the level of D7 compatibility (minus interfaces and pointers). There is a web-based compiler (i.e. you can do 'hot reload' as found in many web development systems) etc. Many basic RTL units work, there is access to all browser features or node.js. you can import any javascript library (e.g. jquery is available) using an import unit. TDataset now also works, pas2js will ship with simple REST connection and JSON Dataset components. In short, everything to develop Pascal programs that run in the browser: FPC will be a full development stack for web applications. It will also be fully integrated in Lazarus. Michael. From mschnell at lumino.de Wed Nov 8 10:25:48 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 10:25:48 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> Message-ID: <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote: > Normally, early december a RC version of pas2js will be released. I understand that the issue of this thread is using Lazarus to do a server based "Rich Internet" application that shows it's GUI in the browser. So pas2js is only part of the game. Other components would be  - Allowing for an "Application" (out of the box providing TTimer, TThread.Queue/Synchonize etc.) to run on the server without any binding to a local GUI framework.  - Communication between the Server application and the part running on the brower via a 3rd party web server.  - allowing for decent Debugging in Lazarus (e.g. via an optional built-in web server, which AFAIK already is in place) .  - Lazarus providing a GUI builder for the browser based GUI. Moreover IMHO a migration path from Java script in the Browser (pas2js) to using WebAssembly in the Browser should be considered. Any news about these topics ? -Michael From nc-gaertnma at netcologne.de Wed Nov 8 11:14:50 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Wed, 8 Nov 2017 11:14:50 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> Message-ID: <20171108111450.00e14d3f@limapholos.matflo.wg> On Wed, 8 Nov 2017 10:25:48 +0100 Michael Schnell via Lazarus wrote: > On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote: > > Normally, early december a RC version of pas2js will be released. > I understand that the issue of this thread is using Lazarus to do a > server based "Rich Internet" application that shows it's GUI in the browser. A server is not needed. You can write standalone browser applications that work offline too. And you can write node.js programs. > So pas2js is only part of the game. > > Other components would be >  - Allowing for an "Application" (out of the box providing TTimer, > TThread.Queue/Synchonize etc.) to run on the server without any binding > to a local GUI framework. Sigh. Michael, sometimes I got the impression you are stuck in a loop. Use TFPTimer and TThread. >  - Communication between the Server application and the part running on > the brower via a 3rd party web server. There are various ways since years. What is missing? >  - allowing for decent Debugging in Lazarus (e.g. via an optional > built-in web server, which AFAIK already is in place) . Server debugging is already possible. But I agree, it could be easier. Client side debugging is working. You can use the browser's debugger to set breakpoints in the Pascal code and step through. >  - Lazarus providing a GUI builder for the browser based GUI. That's a big topic. Some parts already work. > Moreover IMHO a migration path from Java script in the Browser (pas2js) > to using WebAssembly in the Browser should be considered. It has been started in FPC, but no one is working on that. Mattias From mschnell at lumino.de Wed Nov 8 12:08:13 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 12:08:13 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <20171108111450.00e14d3f@limapholos.matflo.wg> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <20171108111450.00e14d3f@limapholos.matflo.wg> Message-ID: <34edcd28-cfa5-e8d8-1b45-d9a8547cef0a@lumino.de> On 08.11.2017 11:14, Mattias Gaertner via Lazarus wrote: > A server is not needed. You can write standalone browser applications that work offline too. OK. Great !  Stand alone browser based applications might be one desirable type of application, but AFAIK, the more commonly required type of application would be server based. > Sigh. Michael, sometimes I got the impression you are stuck in a loop. > Use TFPTimer and TThread. You might be right :-) But it's not just me, but it's based on the Lazarus claim "write once, compile everywhere" which means that I can design and test an application in - say - Windows (using the "RAD"-way that once has been introduced by (Borland-) Delphi, and then tell Lazarus to create a server application with a browser GUI by just compiling  my code. In a perfect world this should simply work, in a less perfect world, some tweaks might be necessary to optimize the thing for either platform to run on. >>  - Communication between the Server application and the part running on the brower via a 3rd party web server. > There are various ways since years. I do know. Some are depreciated, I feel at the moment WebSocktes is the way to go. But see above: the Lazarus user should not even see this, but the infrastructure would organize the communication in a (as good as possible) compatible way, by just telling Lazarus to compile the application as a server based application with a browser based GUI accessible via a web-server. >>  - allowing for decent Debugging in Lazarus (e.g. via an optional built-in web server, which AFAIK already is in place) . > Server debugging is already possible. But I agree, it could be easier. > Client side debugging is working. You can use the browser's debugger to set breakpoints in the Pascal code and step through. I suppose you are talking about pas2js, running in a Browser, which is perfectly viable, of course. What I meant was debugging the server based part of the application (which accesses an attached GUI part done in pas2js. Here (AFAIK) a webserver unit that allows for attaching to a browser to display the GUI while the application (i.e. the "business code") runs under Lazarus, already is provided. so I don't assume any problems here. (While in Delphi AFAIK, this is  a major problem). >>  - Lazarus providing a GUI builder for the browser based GUI. > That's a big topic. Some parts already work. As I already did some research om that (some time ago) I do know that is is a big topic :) . That is why I ask. Great to hear that it is worked on and something already is functional. >> Moreover IMHO a migration path from Java script in the Browser (pas2js) >> to using WebAssembly in the Browser should be considered. > It has been started in FPC, but no one is working on that. So same state as since quite a while. Regarding that most decent browsers nowadays provide the WebAssembly framework, it seems viable to ask, but of course developing time is limited. -Michael From michael at freepascal.org Wed Nov 8 12:28:26 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 12:28:26 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> Message-ID: On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote: > On 08.11.2017 08:57, Michael Van Canneyt via Lazarus wrote: >> Normally, early december a RC version of pas2js will be released. > I understand that the issue of this thread is using Lazarus to do a > server based "Rich Internet" application that shows it's GUI in the browser. > > So pas2js is only part of the game. It is the basic building block. Without that, no browser development in pascal. All the rest is secondary and will be worked out in due course, but the first no-code Data-Aware applications are already working, so we're on the good track. Michael. From mschnell at lumino.de Wed Nov 8 12:41:38 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 12:41:38 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> Message-ID: <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote: > It is the basic building block. I do agree that it is a very viable building block, but theoretically for "Rich internet Applications" there are alternatives:  - WebAssembly (which as far as I understand is considered for fpc, and I suppose it might get started after pas2js is released, as it partly might be based on same. )  - using a 3rd party JS based GUI framework (like EXTJS/EXTPASCAL, which is very expensive/depreciated/dead), or e.g. "React", which might be not decently suited as a target for the Lazarus GUI builder. -Michael From mschnell at lumino.de Wed Nov 8 12:50:12 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 12:50:12 +0100 Subject: [Lazarus] Quick Video: A Web Applicationx In-Reply-To: <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> Message-ID: On 08.11.2017 08:47, Marcello via Lazarus wrote: > Are there any information about it? I just found and watched -> https://prezi.com/upueosj4ep0q/pj-suite/?webgl=0 -Michael From michael at freepascal.org Wed Nov 8 13:12:57 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 13:12:57 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote: > On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote: >> It is the basic building block. > I do agree that it is a very viable building block, but theoretically > for "Rich internet Applications" there are alternatives: >  - WebAssembly (which as far as I understand is considered for fpc, and > I suppose it might get started after pas2js is released, as it partly > might be based on same. ) >  - using a 3rd party JS based GUI framework (like EXTJS/EXTPASCAL, > which is very expensive/depreciated/dead), or e.g. "React", which might > be not decently suited as a target for the Lazarus GUI builder. ExtPascal way (or UniGUI for that matter) is the wrong way to do things. Interesting as a toy, but not suitable for a) Large, scalable websites b) serveless applications. pas2js can use extjs or react or even angular, if you so choose. Michael. From l.rame at griensu.com Wed Nov 8 13:18:14 2017 From: l.rame at griensu.com (=?UTF-8?Q?Leonardo_M._Ram=c3=a9?=) Date: Wed, 8 Nov 2017 09:18:14 -0300 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> Message-ID: <5204c67f-c07f-8caf-000a-0ac7c76e617c@griensu.com> El 08/11/17 a las 04:57, Michael Van Canneyt via Lazarus escribió: > > There is. > > Normally, early december a RC version of pas2js will be released. > pasjs currently is more or less at the level of D7 compatibility (minus > interfaces and > pointers). There is a web-based compiler (i.e. you can do 'hot reload' > as found in many > web development systems) etc. > > Many basic RTL units work, there is access to all browser features or > node.js. you can import any javascript library (e.g. jquery is available) > using an import unit. > > TDataset now also works, pas2js will ship with simple REST connection and > JSON Dataset components. > > In short, everything to develop Pascal programs that run in the browser: > FPC will be a full development stack for web applications. > > It will also be fully integrated in Lazarus. > > Michael. Hi Michael, I wonder how the import unit is created. For example, I use a library called Tabulator (a fantastic grid) I would like to interface with pas2js, should I do the interface by hand or is there an automatic method?. Regards, -- Leonardo M. Ramé Medical IT - Griensu S.A. Av. Colón 636 - Piso 8 Of. A X5000EPT -- Córdoba Tel.: +54(351)4246924 +54(351)4247788 +54(351)4247979 int. 19 Cel.: +54 9 (011) 40871877 From michael at freepascal.org Wed Nov 8 13:40:47 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 13:40:47 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <5204c67f-c07f-8caf-000a-0ac7c76e617c@griensu.com> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <5204c67f-c07f-8caf-000a-0ac7c76e617c@griensu.com> Message-ID: On Wed, 8 Nov 2017, Leonardo M. Ramé via Lazarus wrote: > > El 08/11/17 a las 04:57, Michael Van Canneyt via Lazarus escribió: >> >> There is. >> >> Normally, early december a RC version of pas2js will be released. >> pasjs currently is more or less at the level of D7 compatibility (minus >> interfaces and >> pointers). There is a web-based compiler (i.e. you can do 'hot reload' >> as found in many >> web development systems) etc. >> >> Many basic RTL units work, there is access to all browser features or >> node.js. you can import any javascript library (e.g. jquery is available) >> using an import unit. >> >> TDataset now also works, pas2js will ship with simple REST connection and >> JSON Dataset components. >> >> In short, everything to develop Pascal programs that run in the browser: >> FPC will be a full development stack for web applications. >> >> It will also be fully integrated in Lazarus. >> >> Michael. > > Hi Michael, I wonder how the import unit is created. For example, I use > a library called Tabulator (a fantastic grid) I would like to interface > with pas2js, should I do the interface by hand or is there an automatic > method?. There is a unit that can partially do it for you. It will create an external class definition in pascal based on a javascript object instance. But it is limited in the sense that you will need to provide types and names of arguments to functions. (javascript does not make them available) I did the units web/js/libjquery by hand, from documentation. Michael. From pascaldragon at googlemail.com Wed Nov 8 14:15:40 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Wed, 8 Nov 2017 14:15:40 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: Am 08.11.2017 12:43 schrieb "Michael Schnell via Lazarus" < lazarus at lists.lazarus-ide.org>: On 08.11.2017 12:28, Michael Van Canneyt via Lazarus wrote: > It is the basic building block. > I do agree that it is a very viable building block, but theoretically for "Rich internet Applications" there are alternatives: - WebAssembly (which as far as I understand is considered for fpc, and I suppose it might get started after pas2js is released, as it partly might be based on same. ) Nope, WebAssembly and what pas2js does are two different things even if in the end both run in the browser's JavaScript engine. WebAssembly basically represents a CPU with stack and heap and the ability to call JS functions while pas2js is a Pascal to Javascript transpiler thus working with a different ruleset. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Wed Nov 8 14:43:15 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 14:43:15 +0100 (CET) Subject: [Lazarus] Error when copying to clipboard. Message-ID: Hi, When doing a copy to the clipboard from the IDE source editor, lazarus adds the terminating NULL. This is wrong and sometimes causes errors. Select text in IDE. Copy to search/address bar of browser. hit enter. Results in following query being executed: https://www.google.be/search?q=TObject%00&oq=TObject%00&ie=UTF-8 Notice the %00... If you position the cursor at the end and press backspace in the search bar/address bar, you'll see that the readable text is not actually becoming shorter, because you are then deleting the terminating null... Michael. From lazarus at kluug.net Wed Nov 8 15:02:43 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Wed, 8 Nov 2017 15:02:43 +0100 Subject: [Lazarus] Error when copying to clipboard. In-Reply-To: References: Message-ID: <4a7f8126-e9b5-a878-bd58-1ad37527925e@kluug.net> https://bugs.freepascal.org/view.php?id=21453 Ondrej From paintedlycaon at gmail.com Wed Nov 8 15:06:26 2017 From: paintedlycaon at gmail.com (African Wild Dog) Date: Wed, 8 Nov 2017 12:06:26 -0200 Subject: [Lazarus] Error in code explorer when using "dotted units" Message-ID: Hello, The code explorer does not display the name of the dotted units correctly. Only the first part of the unit name is displayed (portion before the first period). ​ Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: print_error.png Type: image/png Size: 30084 bytes Desc: not available URL: From lazarus at kluug.net Wed Nov 8 15:07:24 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Wed, 8 Nov 2017 15:07:24 +0100 Subject: [Lazarus] Error in code explorer when using "dotted units" In-Reply-To: References: Message-ID: On 08.11.2017 15:06, African Wild Dog via Lazarus wrote: > The code explorer does not display the name of the dotted units > correctly. Only the first part of the unit name is displayed (portion > before the first period). Please report to mantis. Thanks. Ondrej -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Wed Nov 8 15:10:58 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Wed, 8 Nov 2017 16:10:58 +0200 Subject: [Lazarus] Error when copying to clipboard. In-Reply-To: <4a7f8126-e9b5-a878-bd58-1ad37527925e@kluug.net> References: <4a7f8126-e9b5-a878-bd58-1ad37527925e@kluug.net> Message-ID: Yes, build Lazarus with GTK_REMOVE_CLIPBOARD_NULL. There are 2 alternative bugs. Choose the one that bothers you less. :( I will be happy if somebody finds a way to fix it properly. I don't understand the relevant code enough. Juha From paintedlycaon at gmail.com Wed Nov 8 15:17:39 2017 From: paintedlycaon at gmail.com (African Wild Dog) Date: Wed, 8 Nov 2017 12:17:39 -0200 Subject: [Lazarus] Error in code explorer when using "dotted units" In-Reply-To: References: Message-ID: 2017-11-08 12:07 GMT-02:00 Ondrej Pokorny via Lazarus < lazarus at lists.lazarus-ide.org>: > > Please report to mantis. Thanks. > > Done #32663 -------------- next part -------------- An HTML attachment was scrubbed... URL: From mschnell at lumino.de Wed Nov 8 16:24:08 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 16:24:08 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: On 08.11.2017 13:12, Michael Van Canneyt via Lazarus wrote: > ExtPascal way (or UniGUI for that matter) is the wrong way to do > things. Interesting as a toy, but not suitable for > a) Large, scalable websites > b) serveless applications. > Agreed ! But if doing a server based application (ore one that includes the web-server) that mainly does unattended, "embedded" work,  and tghe GUI is only used for configuration and monitoring, such a toy-functionality might be useful, nonetheless. From the view of the application programmer, doing a Rich Internet Application with pas2js is a similar endeavor as Microsoft intended by Silverlight (which has been canceled some time ago) : Design an application and define "bridging points" that "somehow" shift the execution between server and browser. With Silverlight, both parts would be compiled to CIL byte code and run an a CIL (aka .NET) framework, with fpc, the server part would be compiled to a native executable while the Browser part would be compiled to JS (or maybe later to WebAssembly). The user source code would not necessarily need to contain much more than appropriate definitions of the bridging points (supposedly some kind of inter-class interface), and the Lazarus infrastructure would take care of the communication. -Michael From mschnell at lumino.de Wed Nov 8 16:27:41 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 8 Nov 2017 16:27:41 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: <2f4d05c0-fd1a-d065-ab9d-5fa2fc36be9f@lumino.de> On 08.11.2017 14:15, Sven Barth via Lazarus wrote: > > Nope, WebAssembly and what pas2js does are two different things even > if in the end both run in the browser's JavaScript engine. Of course I do know this. But AFAIK WebAssembly has been invented with JS in mind, so it might follow some paradigms, that are closer to JS than to Pascal (e.g. not strictly typed variables). So maybe some stages of the transpilation / compilation might be similar. -Michael From michael at freepascal.org Wed Nov 8 16:39:41 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 8 Nov 2017 16:39:41 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: On Wed, 8 Nov 2017, Michael Schnell via Lazarus wrote: > On 08.11.2017 13:12, Michael Van Canneyt via Lazarus wrote: >> ExtPascal way (or UniGUI for that matter) is the wrong way to do >> things. Interesting as a toy, but not suitable for >> a) Large, scalable websites >> b) serveless applications. >> > Agreed ! But if doing a server based application (ore one that includes > the web-server) that mainly does unattended, "embedded" work,  and tghe > GUI is only used for configuration and monitoring, such a > toy-functionality might be useful, nonetheless. Maybe, but since we're aiming for the more general case, this 'toy' is an avenue we're going to skip... > > From the view of the application programmer, doing a Rich Internet > Application with pas2js is a similar endeavor as Microsoft intended by > Silverlight (which has been canceled some time ago) : Design an > application and define "bridging points" that "somehow" shift the > execution between server and browser. > > With Silverlight, both parts would be compiled to CIL byte code and run > an a CIL (aka .NET) framework, with fpc, the server part would be > compiled to a native executable while the Browser part would be compiled > to JS (or maybe later to WebAssembly). > > The user source code would not necessarily need to contain much more > than appropriate definitions of the bridging points (supposedly some > kind of inter-class interface), and the Lazarus infrastructure would > take care of the communication. I think you're better off coding it as a real client/server application, which is what it actually is. Trying to hide that aspect is IMO futile and will in the long run lead to problems anyway. I spent too much time fighting such frameworks, and believe that you should embrace the platforms you're using. That means: browser as client, webserver as server, and HTTP or websocket as the transport layer. Michael. From pascaldragon at googlemail.com Wed Nov 8 18:48:14 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Wed, 8 Nov 2017 18:48:14 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <2f4d05c0-fd1a-d065-ab9d-5fa2fc36be9f@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> <2f4d05c0-fd1a-d065-ab9d-5fa2fc36be9f@lumino.de> Message-ID: Am 08.11.2017 16:29 schrieb "Michael Schnell via Lazarus" < lazarus at lists.lazarus-ide.org>: On 08.11.2017 14:15, Sven Barth via Lazarus wrote: > > Nope, WebAssembly and what pas2js does are two different things even if in > the end both run in the browser's JavaScript engine. > Of course I do know this. But AFAIK WebAssembly has been invented with JS in mind, so it might follow some paradigms, that are closer to JS than to Pascal (e.g. not strictly typed variables). So maybe some stages of the transpilation / compilation might be similar. WebAssembly was made with execution in a JavaScript engine in mind not with JavaScript in mind. Reading JS-based WebAssembly code is more like reading native assembly then reading high level code. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From mschnell at lumino.de Thu Nov 9 10:59:07 2017 From: mschnell at lumino.de (Michael Schnell) Date: Thu, 9 Nov 2017 10:59:07 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> Message-ID: <35b511dd-be8c-7af6-91d0-2bd6310ba602@lumino.de> On 08.11.2017 16:39, Michael Van Canneyt wrote: > .. I believe that you should embrace the platforms you're using. That > means: browser as client, webserver as server, and HTTP or websocket > as the transport layer. This depends on who is "you" :) . I've already been doing some " Lazarus Community" work (I do have a working draft for an "application" Widget Type that does not do a GUI binding, as an extension to the NoGui Widget Type, but stop working on it due to the complexity of publishing any of it), and so "you" might be the creator of Lazarus means to provide such a framework managing the clint/server communication in some (yet undefined) user friendly way. -Michael From michael at freepascal.org Thu Nov 9 11:12:36 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Thu, 9 Nov 2017 11:12:36 +0100 (CET) Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: <35b511dd-be8c-7af6-91d0-2bd6310ba602@lumino.de> References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> <35b511dd-be8c-7af6-91d0-2bd6310ba602@lumino.de> Message-ID: On Thu, 9 Nov 2017, Michael Schnell wrote: > On 08.11.2017 16:39, Michael Van Canneyt wrote: >> .. I believe that you should embrace the platforms you're using. That >> means: browser as client, webserver as server, and HTTP or websocket as the >> transport layer. > > This depends on who is "you" :) . Everybody wishing to develop for the web or browser. > > I've already been doing some " Lazarus Community" work (I do have a working > draft for an "application" Widget Type that does not do a GUI binding, as an > extension to the NoGui Widget Type, but stop working on it due to the > complexity of publishing any of it), and so "you" might be the creator of > Lazarus means to provide such a framework managing the clint/server > communication in some (yet undefined) user friendly way. We are busy creating this framework. But Rome wasn't built in a day. Michael. From aaa5500 at ya.ru Thu Nov 9 11:25:48 2017 From: aaa5500 at ya.ru (Alexey) Date: Thu, 9 Nov 2017 13:25:48 +0300 Subject: [Lazarus] Why not to apply patch of TListView.CustomSort Message-ID: Patch is ready and tested- https://bugs.freepascal.org/view.php?id=8536 -- Regards, Alexey From mschnell at lumino.de Thu Nov 9 11:49:46 2017 From: mschnell at lumino.de (Michael Schnell) Date: Thu, 9 Nov 2017 11:49:46 +0100 Subject: [Lazarus] Quick Video: A Web Application In-Reply-To: References: <48574413-7f52-ea91-439b-b1f868c92891@geldenhuys.co.uk> <75d8bdcc-12af-1bae-63b4-62c9d58b9843@ciberpiula.net> <8dc9368b-f7da-8131-af0f-3b011d7d1fef@zoho.com> <7249fd1a-c451-7a7e-6ca2-920f95a52116@lumino.de> <13c5e905-7ab9-7ba4-7bd6-99ffefef094b@lumino.de> <35b511dd-be8c-7af6-91d0-2bd6310ba602@lumino.de> Message-ID: <472424fd-e289-f1e0-4672-34f221b2d500@lumino.de> On 09.11.2017 11:12, Michael Van Canneyt via Lazarus wrote: > We are busy creating this framework. Great. From the previous messages I got the impression it would be depreciated. > > But Rome wasn't built in a day. > Obviously. I am not trying to hurry anybody. I am very happy with what Lazarus and fpc do offer. Nonetheless I think discussing improvements always does make sense. Thanks a lot ! -Michael From lazarus at kluug.net Thu Nov 9 11:55:17 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Thu, 9 Nov 2017 11:55:17 +0100 Subject: [Lazarus] Why not to apply patch of TListView.CustomSort In-Reply-To: References: Message-ID: On 09.11.2017 11:25, Alexey via Lazarus wrote: > Patch is ready and tested I hope Zeljko will look at it soon. Ondrej From zeljko at holobit.net Thu Nov 9 13:14:14 2017 From: zeljko at holobit.net (Zeljko) Date: Thu, 09 Nov 2017 13:14:14 +0100 Subject: [Lazarus] Why not to apply patch of TListView.CustomSort In-Reply-To: References: Message-ID: <5A044696.1000905@holobit.net> On 11/09/2017 11:55 AM, Ondrej Pokorny via Lazarus wrote: > On 09.11.2017 11:25, Alexey via Lazarus wrote: >> Patch is ready and tested > > I hope Zeljko will look at it soon. Yeah, I'll do that during weekend. zeljko From aaa5500 at ya.ru Fri Nov 10 13:58:15 2017 From: aaa5500 at ya.ru (Alexey) Date: Fri, 10 Nov 2017 15:58:15 +0300 Subject: [Lazarus] PackageLinks dialog Message-ID: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> I wish that in this dialog grid - disable option RangeSelect (select n lines) - enable option RowSelect - not sure about opt Editing, maybe disable it. -- Regards, Alexey From nc-gaertnma at netcologne.de Fri Nov 10 14:26:27 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Fri, 10 Nov 2017 14:26:27 +0100 Subject: [Lazarus] PackageLinks dialog In-Reply-To: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> References: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> Message-ID: <20171110142627.0cbe0dd7@limapholos.matflo.wg> On Fri, 10 Nov 2017 15:58:15 +0300 Alexey via Lazarus wrote: > I wish that in this dialog grid > > - disable option RangeSelect (select n lines) Why? You can use this for copying. > - enable option RowSelect Why? > - not sure about opt Editing, maybe disable it. What do you mean with opt Editing? Mattias From paintedlycaon at gmail.com Fri Nov 10 14:47:36 2017 From: paintedlycaon at gmail.com (African Wild Dog) Date: Fri, 10 Nov 2017 11:47:36 -0200 Subject: [Lazarus] WinHTTP Missing In Windows Installer Message-ID: Hello, Why unit WinHTTP from packages/winunits-base is not present in the Windows installer? Bug? Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Fri Nov 10 15:37:02 2017 From: aaa5500 at ya.ru (Alexey) Date: Fri, 10 Nov 2017 17:37:02 +0300 Subject: [Lazarus] PackageLinks dialog In-Reply-To: <20171110142627.0cbe0dd7@limapholos.matflo.wg> References: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> <20171110142627.0cbe0dd7@limapholos.matflo.wg> Message-ID: >> - enable option RowSelect > Why? Now selection is barely visible with thin frame on 1 cell. > > >> - not sure about opt Editing, maybe disable it. > What do you mean with opt Editing? > grid.Options has goEditing. > Mattias -- Regards, Alexey From nc-gaertnma at netcologne.de Fri Nov 10 18:32:04 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Fri, 10 Nov 2017 18:32:04 +0100 Subject: [Lazarus] PackageLinks dialog In-Reply-To: References: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> <20171110142627.0cbe0dd7@limapholos.matflo.wg> Message-ID: <20171110183204.36048d79@limapholos.matflo.wg> On Fri, 10 Nov 2017 17:37:02 +0300 Alexey via Lazarus wrote: > >> - enable option RowSelect > > Why? > Now selection is barely visible with thin frame on 1 cell. In my theme the thin frame is the active cell. A selected cell has a different background. > >> - not sure about opt Editing, maybe disable it. > > What do you mean with opt Editing? > > > grid.Options has goEditing. That is needed to tick the checkboxes. Mattias From mailinglists at geldenhuys.co.uk Sat Nov 11 10:15:02 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Sat, 11 Nov 2017 09:15:02 +0000 Subject: [Lazarus] register 3rd party help with the IDE Message-ID: Hi, Years back I wrote a tiOPF class documentation help intergation package for Lazarus. It could use local help (on your hard drive) or online help for the tiOPF.lpk package. But then it worked perfectly. The other day I tried it out again with Lazarus Trunk, but it doesn't work. I tried to use the online help registration as follows: // for Online help files RegisterFPDocHTMLHelpForPackage('tiOPF2 Help','tiOPF2 Help Database', 'http://geldenhuys.co.uk/tiopf/','tiOPF'); After I rebuild Lazarus IDE, the "tiOPF Help" appears in the help database list, but no URL appears in the BaseURL setting, and Pressing F1 on any code found in the tiOPF.lpk package doesn't work. Any idea what I need to do to get the ide help integration working again? The unit in question can be seen by following the URL below. By default it uses local help on the hard drive, but I locally modified it to use the Online help instead. But like I said, it doesn't seem to work any more. https://github.com/graemeg/tiopf/blob/tiopf2/Compilers/FPC/pkghelpintegration.pas Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Sat Nov 11 10:17:44 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Sat, 11 Nov 2017 09:17:44 +0000 Subject: [Lazarus] register 3rd party help with the IDE In-Reply-To: References: Message-ID: <01bd0809-3806-f2fd-5076-473b74751053@geldenhuys.co.uk> On 2017-11-11 09:15, Graeme Geldenhuys via Lazarus wrote: > The unit in question can be seen by following the URL below. Oh, and the new online URL for the help is: http://geldenhuys.co.uk/tiopf/ The one shown in the Github repo is the old URL. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From listbox at martoks-place.de Sat Nov 11 13:56:07 2017 From: listbox at martoks-place.de (Martok) Date: Sat, 11 Nov 2017 13:56:07 +0100 Subject: [Lazarus] PackageLinks dialog In-Reply-To: <20171110183204.36048d79@limapholos.matflo.wg> References: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> <20171110142627.0cbe0dd7@limapholos.matflo.wg> <20171110183204.36048d79@limapholos.matflo.wg> Message-ID: > Alexey via Lazarus wrote: > >>>> - enable option RowSelect >>> Why? >> Now selection is barely visible with thin frame on 1 cell. > > In my theme the thin frame is the active cell. A selected cell has a > different background. Only if the selected cell is not also focused, example: Why is that a TStringGrid, anyway? Wouldn't the better choice be a TListView in report mode? Were there any specific reasons? -- Regards, Martok Ceterum censeo b32079 esse sanandam. From nc-gaertnma at netcologne.de Sat Nov 11 15:27:27 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Sat, 11 Nov 2017 15:27:27 +0100 Subject: [Lazarus] register 3rd party help with the IDE In-Reply-To: References: Message-ID: <20171111152727.60f0b770@limapholos.matflo.wg> On Sat, 11 Nov 2017 09:15:02 +0000 Graeme Geldenhuys via Lazarus wrote: >[...] > // for Online help files > RegisterFPDocHTMLHelpForPackage('tiOPF2 Help','tiOPF2 Help Database', > 'http://geldenhuys.co.uk/tiopf/','tiOPF'); This only registers help for the source files of the tiOPF.lpk directory and its sub directories. For additional directories use the AdditionalDirectories parameter. See your own examples: RegisterFPDocHTMLHelpForPackage('tiOPF2Core','tiOPF2 Core Help', 'file://$PkgDir(tiOPF)/html/core','tiOPF','../../Core;../../Options;../../GUI'); > After I rebuild Lazarus IDE, the "tiOPF Help" appears in the help > database list, but no URL appears in the BaseURL setting, and Pressing > F1 on any code found in the tiOPF.lpk package doesn't work. The BaseURL is the property for the user to override the built-in default URL. I added a read only property, so the user can now see the default in the IDE options. Mattias From nc-gaertnma at netcologne.de Sat Nov 11 15:49:08 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Sat, 11 Nov 2017 15:49:08 +0100 Subject: [Lazarus] PackageLinks dialog In-Reply-To: References: <1e40577e-d9dd-5979-d78d-52f9abb40b21@ya.ru> <20171110142627.0cbe0dd7@limapholos.matflo.wg> <20171110183204.36048d79@limapholos.matflo.wg> Message-ID: <20171111154908.2cb3ee33@limapholos.matflo.wg> On Sat, 11 Nov 2017 13:56:07 +0100 Martok via Lazarus wrote: > > Alexey via Lazarus wrote: > > > >>>> - enable option RowSelect > >>> Why? > >> Now selection is barely visible with thin frame on 1 cell. > > > > In my theme the thin frame is the active cell. A selected cell has a > > different background. > Only if the selected cell is not also focused, example: > Do you mean TStringGrid should show the active cell more obvious than a thin frame? > Why is that a TStringGrid, anyway? Wouldn't the better choice be a TListView in > report mode? Were there any specific reasons? I just needed something with columns and rows. Mattias From dec12 at avidsoft.com.hk Sun Nov 12 15:17:37 2017 From: dec12 at avidsoft.com.hk (Dennis) Date: Sun, 12 Nov 2017 22:17:37 +0800 Subject: [Lazarus] Win64 bit "Can not load SQLite client library "sqlite3.dll" Message-ID: <66e44632-4f6b-d943-cc27-1168af7bd720@avidsoft.com.hk> I was upgrading my FPC/Lazarus program from Win32 to Win64 bit. It complied ok but when run, the debugger raised an exceptoin: "Can not load SQLite client library "sqlite3.dll" At first, I though it is because the existing sqlite3.dll is win32 format so I went to https://sqlite.org/download.html to download https://sqlite.org/2017/sqlite-dll-win64-x64-3210000.zip and replace the old sqlite3.dll with the win64 bite version. However, now it does not an exception but just quietly quit without doing anything. I think I might need another file called libmysql.dll but that is not available from https://sqlite.org/ I googled for it and found that an unknown site called www.dlldownloader.com has it but I am afraid to use it fearing it might be a virus infected file. Does anyone know whether I need a 64bit version of libmysql.dll, if yes, where can I get it safely? Thanks, Dennis From mike.cornflake at gmail.com Sun Nov 12 17:47:20 2017 From: mike.cornflake at gmail.com (Michael Thompson) Date: Mon, 13 Nov 2017 00:47:20 +0800 Subject: [Lazarus] Win64 bit "Can not load SQLite client library "sqlite3.dll" In-Reply-To: <66e44632-4f6b-d943-cc27-1168af7bd720@avidsoft.com.hk> References: <66e44632-4f6b-d943-cc27-1168af7bd720@avidsoft.com.hk> Message-ID: On 12 November 2017 at 22:17, Dennis via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > At first, I though it is because the existing sqlite3.dll is win32 format > so I went to https://sqlite.org/download.html to download > https://sqlite.org/2017/sqlite-dll-win64-x64-3210000.zip > I've just downloaded the 64bit SQLite.dll file to check. 64bit Dependancy Walker reports no dependencies outside of usual Windows DLLs, so it should be fine. And just looking at the name of the dll you've suggested, it's for MySQL anyway, not for SQLite. I have a copy of libmysql.dll (32 bit). I got it when I installed MySQL a few versions ago. From memory I had to install a particular build to get that file as it's not in my current mysql folder... It was with some install that came with developer tools. My current mysql is only the engine... Long winded way of saying: Sorry, I'm not sure what your issue is, but I'm sure it's not libmysql.dll you need. Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike.cornflake at gmail.com Sun Nov 12 17:47:20 2017 From: mike.cornflake at gmail.com (Michael Thompson) Date: Mon, 13 Nov 2017 00:47:20 +0800 Subject: [Lazarus] Win64 bit "Can not load SQLite client library "sqlite3.dll" In-Reply-To: <66e44632-4f6b-d943-cc27-1168af7bd720@avidsoft.com.hk> References: <66e44632-4f6b-d943-cc27-1168af7bd720@avidsoft.com.hk> Message-ID: On 12 November 2017 at 22:17, Dennis via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > At first, I though it is because the existing sqlite3.dll is win32 format > so I went to https://sqlite.org/download.html to download > https://sqlite.org/2017/sqlite-dll-win64-x64-3210000.zip > I've just downloaded the 64bit SQLite.dll file to check. 64bit Dependancy Walker reports no dependencies outside of usual Windows DLLs, so it should be fine. And just looking at the name of the dll you've suggested, it's for MySQL anyway, not for SQLite. I have a copy of libmysql.dll (32 bit). I got it when I installed MySQL a few versions ago. From memory I had to install a particular build to get that file as it's not in my current mysql folder... It was with some install that came with developer tools. My current mysql is only the engine... Long winded way of saying: Sorry, I'm not sure what your issue is, but I'm sure it's not libmysql.dll you need. Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Sun Nov 12 19:53:11 2017 From: aaa5500 at ya.ru (Alexey) Date: Sun, 12 Nov 2017 21:53:11 +0300 Subject: [Lazarus] IDE OI always-on-top: fix Message-ID: I see reports about OI is always on top; I see it too. Here's simple fix, found it becoz I made patch for these lines, window-type-hints. -- Regards, Alexey -------------- next part -------------- A non-text attachment was scrubbed... Name: oi_ontop_fix.diff Type: text/x-patch Size: 545 bytes Desc: not available URL: From lazarus at kluug.net Sun Nov 12 20:34:03 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sun, 12 Nov 2017 20:34:03 +0100 Subject: [Lazarus] IDE OI always-on-top: fix In-Reply-To: References: Message-ID: <81425561-c897-552d-bb1f-6ce2923206ec@kluug.net> On 12.11.2017 19:53, Alexey via Lazarus wrote: > I see reports about OI is always on top; I see it too. Here's simple > fix, found it becoz I made patch for these lines, window-type-hints. ... and the saga of fixing Gtk2 window types continues ... :D Ondrej From lubos.pintes at gmail.com Mon Nov 13 10:50:25 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 13 Nov 2017 10:50:25 +0100 Subject: [Lazarus] Cody identifier search sometimes doesn't work? Message-ID: Hello, After reading one quite old thread here, I installed the Cody package, and almost immediately found that on windows, there is an identifier like this: _TV_DISPINFO in windows of FPCSrcDir But when I typed "dispinfo" into the filter edit, the above-written identifier is not found, tried also to type it in all caps. So is this a bug? From lubos.pintes at gmail.com Mon Nov 13 10:53:18 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 13 Nov 2017 10:53:18 +0100 Subject: [Lazarus] Cody identifier search sometimes doesn't work? In-Reply-To: References: Message-ID: Okay, sorry for noise. I discovered something labelled "Start Contains", not reachable from the keyboard, only with "virtual mouse", so it works as expected. Dňa 13. 11. 2017 o 10:50 Lubos Pintes via Lazarus napísal(a): > Hello, > After reading one quite old thread here, I installed the Cody package, > and almost immediately found that on windows, there is an identifier > like this: > _TV_DISPINFO in windows of FPCSrcDir > But when I typed "dispinfo" into the filter edit, the above-written > identifier is not found, tried also to type it in all caps. > So is this a bug? > From lubos.pintes at gmail.com Mon Nov 13 11:40:15 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 13 Nov 2017 11:40:15 +0100 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup Message-ID: What that means? An exception, access violation or what? It probably happens somewhere in my UI Automation implementation. The Call stack window doesn't show useful information. An F7 key tells something like "Cannot find function boundary". So curently I don't know how to debug this problem. From nc-gaertnma at netcologne.de Mon Nov 13 13:40:52 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 13 Nov 2017 13:40:52 +0100 Subject: [Lazarus] Cody identifier search sometimes doesn't work? In-Reply-To: References: Message-ID: <20171113134052.6d6ab341@limapholos.matflo.wg> On Mon, 13 Nov 2017 10:53:18 +0100 Lubos Pintes via Lazarus wrote: > Okay, sorry for noise. I discovered something labelled "Start Contains", > not reachable from the keyboard, only with "virtual mouse", so it works > as expected. I replaced the speedbuttons with checkboxes. Should be reachable by keyboard. Mattias From lazarus at mfriebe.de Mon Nov 13 13:49:51 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Mon, 13 Nov 2017 12:49:51 +0000 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: References: Message-ID: On 13/11/17 10:40, Lubos Pintes via Lazarus wrote: > What that means? An exception, access violation or what? > It probably happens somewhere in my UI Automation implementation. The > Call stack window doesn't show useful information. > An F7 key tells something like "Cannot find function boundary". > So curently I don't know how to debug this problem. > How did the app run before? check the "threads" window. you may be in the wrong thread (OS may add threads, even if your app does not have them) did you do stepping, or did you run F9? what OS? what version of gdb? http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session provide a log (if not possible then at least  the output of the "debug output" window/ open this before the problem happens) there should be a lines like *stopped, reason=... the last such line should give a clue. From aaa5500 at ya.ru Mon Nov 13 14:44:09 2017 From: aaa5500 at ya.ru (Alexey) Date: Mon, 13 Nov 2017 16:44:09 +0300 Subject: [Lazarus] IDE SearchResult dlg - edit is clipped Message-ID: Here's screenshot, top border of edit is out of window. Linux gtk2. -- Regards, Alexey -------------- next part -------------- A non-text attachment was scrubbed... Name: srh-res-clipped.png Type: image/png Size: 5754 bytes Desc: not available URL: From blackdoomer at yandex.ru Mon Nov 13 16:26:32 2017 From: blackdoomer at yandex.ru (Dmitry D. Chernov) Date: Tue, 14 Nov 2017 01:26:32 +1000 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier Message-ID: <357281510586792@web47o.yandex.ru> This is slightly related with recently fixed #32606: my patch fixes only wrong inactive state, patch for #32606 fixes determination of the identifier under the carriage, as a whole. This bug is very annoying when you selecting identifier to rename by double-clicking LMB on it. ___ Dmitry D. Chernov -------------- next part -------------- A non-text attachment was scrubbed... Name: synedit.pp.patch Type: text/x-diff Size: 637 bytes Desc: not available URL: From lubos.pintes at gmail.com Mon Nov 13 16:41:04 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 13 Nov 2017 16:41:04 +0100 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: References: Message-ID: OS is Windows 10, Lazarus 1.9, GDB 7.2. How can I see thread? How can I open a debug log windows? In which menu it is? Or is it displayed somewhere? Because I am unable to "see" it with screen reader. So It may look I am asking for something obvious, sorry. Dňa 13. 11. 2017 o 13:49 Martin Frb via Lazarus napísal(a): > On 13/11/17 10:40, Lubos Pintes via Lazarus wrote: >> What that means? An exception, access violation or what? >> It probably happens somewhere in my UI Automation implementation. The >> Call stack window doesn't show useful information. >> An F7 key tells something like "Cannot find function boundary". >> So curently I don't know how to debug this problem. >> > How did the app run before? > > > check the "threads" window. > > you may be in the wrong thread (OS may add threads, even if your app > does not have them) > > > did you do stepping, or did you run F9? > > what OS? > > what version of gdb? > > > http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session > > > provide a log (if not possible then at least  the output of the "debug > output" window/ open this before the problem happens) > > > there should be a lines like > > *stopped, reason=... > > the last such line should give a clue. > > From lazarus at mfriebe.de Mon Nov 13 17:18:01 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Mon, 13 Nov 2017 16:18:01 +0000 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: References: Message-ID: <0d8a0ccf-4aa2-1845-dd29-b2a07621424c@mfriebe.de> The thread window is in the view menu. there is a sub-menu "debug windows" and there it can be found. It should also appear with ctrl-alt-t The debug log window is in the same sub menu. But it is not called "log" it is called "Debug Output" This window shows raw gdb communications. Rather than looking at debug output, start the IDE with the following command line lazarus.exe  --debug-log=C:\lazlog.txt --debug-enable=DBG_CMD_ECHO,DBG_STATE,DBGMI_QUEUE_DEBUG this will create a logfile, that you can attach to your next mail (or if to big for the mailing list, send to my email directly) On 13/11/17 15:41, Lubos Pintes via Lazarus wrote: > OS is Windows 10, Lazarus 1.9, GDB 7.2. > How can I see thread? How can I open a debug log windows? In which > menu it is? Or is it displayed somewhere? Because I am unable to "see" > it with screen reader. So It may look I am asking for something > obvious, sorry. > Dňa 13. 11. 2017 o 13:49 Martin Frb via Lazarus napísal(a): From lazarus at mfriebe.de Mon Nov 13 17:26:18 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Mon, 13 Nov 2017 16:26:18 +0000 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: References: Message-ID: <1a5747c4-fb4e-b6eb-013d-4de97aca8488@mfriebe.de> Some more info on the original questions: The error about "not finding boundary", happens because your app is paused in code with no debug info. So the debugger does not know where the function starts or end. Nor does it know where the line starts, as there is no info on lines. Alt F7 will step assembler instruction, but you may have to step thousands before getting anywhere. (If ever you will at all). The missing stack means the code is not following convention of how to use stack. It is either compiled with optimization, or more likely it is not compiled by fpc. The code is probably Kernel, or some OS or 3rd party library. On 13/11/17 10:40, Lubos Pintes via Lazarus wrote: > What that means? An exception, access violation or what? > It probably happens somewhere in my UI Automation implementation. The > Call stack window doesn't show useful information. > An F7 key tells something like "Cannot find function boundary". > So curently I don't know how to debug this problem. > From lazarus at mfriebe.de Mon Nov 13 17:30:34 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Mon, 13 Nov 2017 16:30:34 +0000 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: <1a5747c4-fb4e-b6eb-013d-4de97aca8488@mfriebe.de> References: <1a5747c4-fb4e-b6eb-013d-4de97aca8488@mfriebe.de> Message-ID: On 13/11/17 16:26, Martin Frb via Lazarus wrote: > Some more info on the original questions: > While it would still be good to know what happens (see other part of this mail thread.) If this is caused by a 3rd party library, you may try if the following helps go to menu Tools, options. On the page "Debugger", "general" there is a grid (like the object inspector has). One of the properties you can set there is called DisableLoadSymbolsForLibraries. Change this to TRUE. From juha.manninen62 at gmail.com Mon Nov 13 17:32:19 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 13 Nov 2017 18:32:19 +0200 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier In-Reply-To: <357281510586792@web47o.yandex.ru> References: <357281510586792@web47o.yandex.ru> Message-ID: On Mon, Nov 13, 2017 at 5:26 PM, Dmitry D. Chernov via Lazarus wrote: > This is slightly related with recently fixed #32606: my patch fixes only wrong inactive state, patch for #32606 fixes determination of the identifier under the carriage, as a whole. > > This bug is very annoying when you selecting identifier to rename by double-clicking LMB on it. Sorry I did not understand what the problem is. Inactive state of what? Are you renaming an identifier (F2)? Juha From nc-gaertnma at netcologne.de Mon Nov 13 17:50:26 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 13 Nov 2017 17:50:26 +0100 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier In-Reply-To: <357281510586792@web47o.yandex.ru> References: <357281510586792@web47o.yandex.ru> Message-ID: <20171113175026.58b6768c@limapholos.matflo.wg> On Tue, 14 Nov 2017 01:26:32 +1000 "Dmitry D. Chernov via Lazarus" wrote: > This is slightly related with recently fixed #32606: my patch fixes only wrong inactive state, patch for #32606 fixes determination of the identifier under the carriage, as a whole. > > This bug is very annoying when you selecting identifier to rename by double-clicking LMB on it. You don't need to select an identifier. You simply place the caret at it. Mattias From blackdoomer at yandex.ru Mon Nov 13 17:59:16 2017 From: blackdoomer at yandex.ru (Dmitry D. Chernov) Date: Tue, 14 Nov 2017 02:59:16 +1000 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier In-Reply-To: <20171113175026.58b6768c@limapholos.matflo.wg> References: <357281510586792@web47o.yandex.ru> <20171113175026.58b6768c@limapholos.matflo.wg> Message-ID: <9821510592356@web55o.yandex.ru> Sorry, but it's just about convenience, because F2 is working now in this case (after patching #32606), unlike the corresponding menu item. 14.11.2017, 02:51, "Mattias Gaertner via Lazarus" : > On Tue, 14 Nov 2017 01:26:32 +1000 > "Dmitry D. Chernov via Lazarus" wrote: > >>  This is slightly related with recently fixed #32606: my patch fixes only wrong inactive state, patch for #32606 fixes determination of the identifier under the carriage, as a whole. >> >>  This bug is very annoying when you selecting identifier to rename by double-clicking LMB on it. > > You don't need to select an identifier. You simply place the caret at > it. > > Mattias > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus From blackdoomer at yandex.ru Mon Nov 13 18:02:00 2017 From: blackdoomer at yandex.ru (Dmitry D. Chernov) Date: Tue, 14 Nov 2017 03:02:00 +1000 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier In-Reply-To: References: <357281510586792@web47o.yandex.ru> Message-ID: <91371510592520@web13g.yandex.ru> Here's a video with the demonstration of the bug in Lazarus 1.6.4. https://yadi.sk/i/QkJEi53d3PfKiU 14.11.2017, 02:32, "Juha Manninen via Lazarus" : > On Mon, Nov 13, 2017 at 5:26 PM, Dmitry D. Chernov via Lazarus > wrote: >>  This is slightly related with recently fixed #32606: my patch fixes only wrong inactive state, patch for #32606 fixes determination of the identifier under the carriage, as a whole. >> >>  This bug is very annoying when you selecting identifier to rename by double-clicking LMB on it. > > Sorry I did not understand what the problem is. > Inactive state of what? Are you renaming an identifier (F2)? > > Juha > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus From aaa5500 at ya.ru Mon Nov 13 18:58:18 2017 From: aaa5500 at ya.ru (Alexey) Date: Mon, 13 Nov 2017 20:58:18 +0300 Subject: [Lazarus] type IntegerList Message-ID: Thanks for this new list. Diff like - Result:=integer(PtrUInt(FCols[aCol])) + Result:=FCols[aCol] shows it's useful. It supports Longint or PtrInt or PtrUInt? Or i need another list for PtrInt? -- Regards, Alexey -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Mon Nov 13 19:02:20 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 13 Nov 2017 20:02:20 +0200 Subject: [Lazarus] IntegerList Message-ID: I finally added a unit IntegerList and class TIntegerList into LazUtils package. It has a simple implementation using generics. TIntegerList = class(specialize TFPGList) I already replaced some TList hacks for integers which required ugly typecasts like Integer(PtrUInt(...)) and Pointer(PtrInt(...)) Does anybody know of other such hacks in Lazarus sources? Obviously the class can be freely used in any user code, too. I guess an IntegerList is implemented in many places independently. It is such a common use case. Juha From juha.manninen62 at gmail.com Mon Nov 13 19:05:28 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 13 Nov 2017 20:05:28 +0200 Subject: [Lazarus] type IntegerList In-Reply-To: References: Message-ID: On Mon, Nov 13, 2017 at 7:58 PM, Alexey via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > Thanks for this new list. Diff like > - Result:=integer(PtrUInt(FCols[aCol])) > + Result:=FCols[aCol] > > shows it's useful. It supports Longint or PtrInt or PtrUInt? Or i need > another list for PtrInt? > It supports Integer which means Longint. You need another list for PtrInt but it is very easy to implement using generics as you can see from TIntegerList. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Mon Nov 13 19:13:05 2017 From: aaa5500 at ya.ru (Alexey) Date: Mon, 13 Nov 2017 21:13:05 +0300 Subject: [Lazarus] type IntegerList In-Reply-To: References: Message-ID: >   it is very easy to implement using generics as you can see from > TIntegerList. > Good to include lists for [Int64, PtrInt, PtrUInt] to the same unit. -- Regards, Alexey From mike.cornflake at gmail.com Mon Nov 13 19:16:50 2017 From: mike.cornflake at gmail.com (Michael Thompson) Date: Tue, 14 Nov 2017 02:16:50 +0800 Subject: [Lazarus] type IntegerList In-Reply-To: References: Message-ID: On 14 November 2017 at 01:58, Alexey via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > shows it's useful. It supports Longint or PtrInt or PtrUInt? Or i need > another list for PtrInt > You may already be aware, but check out the warnings in this page https://www.freepascal.org/docs-html/rtl/system/ptrint.html "*The introduction of the ptrint type was a mistake. Please use ptruint ** instead*" Cheers Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From badsectoracula at gmail.com Mon Nov 13 19:52:33 2017 From: badsectoracula at gmail.com (Kostas Michalopoulos) Date: Mon, 13 Nov 2017 20:52:33 +0200 Subject: [Lazarus] type IntegerList In-Reply-To: References: Message-ID: That warning is misleading, makes too many assumptions about why the user needs to do something (often a common mistake when trying to "correct" others) and IMO wrong. Pointers and integers are separate things and a very common reason PtrInt and PtrUInt are used are to reserve memory in cases where you may want to store either an integer or a pointer but never both and need enough memory to hold either one (similar reason why intptr_t and uintptr_t exist in C). In that case, IntPtr is very useful when you want the integer to be signed. For example, TComponent uses that for the Tag attribute and it is sometimes useful that you can store both unsigned integers and pointers in it. Beyond that, it is also useful when interfacing with C code that accepts intptr_t (for the same reasons). The warning is really like having a "warning: dont use this because it is dangerous" sticker to an industrial saw: the people buying the saw are already in a position to know what they need to use it. Summary: the IntPtr type was far from a mistake, the warning is misleading and IMO it should be removed not only for the above reasons, but also because AFAIK not all platforms treat pointers as linear addresses (let alone signed or unsigned - for an example see i8086 pointers) and pointer arithmetic should be done with the pointer types themselves instead of converting them to integers (this is especially necessary for non-linear addresses since IntPtr(Ptr+1) might not be the same as IntPtr(Ptr)+1). On Mon, Nov 13, 2017 at 8:16 PM, Michael Thompson via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > On 14 November 2017 at 01:58, Alexey via Lazarus < > lazarus at lists.lazarus-ide.org> wrote: > >> shows it's useful. It supports Longint or PtrInt or PtrUInt? Or i need >> another list for PtrInt >> > > You may already be aware, but check out the warnings in this page > https://www.freepascal.org/docs-html/rtl/system/ptrint.html > > "*The introduction of the ptrint type was a mistake. Please use ptruint > ** instead*" > > Cheers > > Mike > > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Mon Nov 13 19:58:34 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 13 Nov 2017 20:58:34 +0200 Subject: [Lazarus] type IntegerList In-Reply-To: References: Message-ID: On Mon, Nov 13, 2017 at 8:13 PM, Alexey via Lazarus wrote: > Good to include lists for [Int64, PtrInt, PtrUInt] to the same unit. List of PtrInt or PtrUInt makes no sense. Those types are used only when casting to/from a Pointer which typically involves some ugly hack. The original type was wrong if you must cast it. A list of Int64 however makes sense. I will add it. Juha From juha.manninen62 at gmail.com Mon Nov 13 20:24:07 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 13 Nov 2017 21:24:07 +0200 Subject: [Lazarus] [PATCH] Menu item "Rename identifier" shows as inactive if caret is placed at the end of an identifier In-Reply-To: <357281510586792@web47o.yandex.ru> References: <357281510586792@web47o.yandex.ru> Message-ID: The issue is fixed in r56398 with a patch provided by Dmitry. Please test everybody. Juha From blackdoomer at yandex.ru Tue Nov 14 09:01:55 2017 From: blackdoomer at yandex.ru (Dmitry D. Chernov) Date: Tue, 14 Nov 2017 18:01:55 +1000 Subject: [Lazarus] Z-order changing using OI and designer menus seems to be broken in trunk Message-ID: <1611881510646515@web34o.yandex.ru> $subj. Could anyone confirm and fix if possible? ___ Dmitry D. Chernov From aaa5500 at ya.ru Tue Nov 14 10:27:05 2017 From: aaa5500 at ya.ru (Alexey) Date: Tue, 14 Nov 2017 12:27:05 +0300 Subject: [Lazarus] IDE OI always-on-top: fix In-Reply-To: References: Message-ID: <4cd6b497-b7b9-7354-ca7c-44f33b8931ec@ya.ru> On 12.11.2017 21:53, Alexey wrote: Can you apply this fix? it changes only window-type-hints for "toolwindow" BorderStyle, it's safe i think. -- Regards, Alexey From lubos.pintes at gmail.com Tue Nov 14 11:17:15 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Tue, 14 Nov 2017 11:17:15 +0100 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: <0d8a0ccf-4aa2-1845-dd29-b2a07621424c@mfriebe.de> References: <0d8a0ccf-4aa2-1845-dd29-b2a07621424c@mfriebe.de> Message-ID: Oh, View menu, of course. I am stupid indeed. :) I just updated a GDB to version 7.7.1 and now at least the stack trace makes more sense. It is full of Windows API calls. However, here is a part of debug output which seems to be relevant, at least I am not sure what exactly this can be: &"warning: HEAP[project1.exe]: \n" &"warning: HEAP: Free Heap block 105AA5B0 modified at 105AA5D0 after it was freed\n" &"\n" ~"[Switching to Thread 4928.0x13e8]\n" *stopped,reason="signal-received",signal-name="SIGTRAP",signal-meaning="Trace/breakpoint trap",frame={addr="0x778661e2",func="ntdll!RtlCaptureStackContext",args=[],from="C:\\WINDOWS\\SYSTEM32\\ntdll.dll"},thread-id="9",stopped-threads="all" =thread-selected,id="9" I extracted this output immediately after the Assembler window appeared. Other things there are library loaded, thread created, etc. If you still thinks it makes sense to post the Lazarus debug output you suggested, I can of course do it. Dňa 13. 11. 2017 o 17:18 Martin Frb via Lazarus napísal(a): > The thread window is in the view menu. there is a sub-menu "debug > windows" and there it can be found. > It should also appear with ctrl-alt-t > > The debug log window is in the same sub menu. But it is not called "log" > it is called "Debug Output" > This window shows raw gdb communications. > > Rather than looking at debug output, start the IDE with the following > command line > > lazarus.exe  --debug-log=C:\lazlog.txt > --debug-enable=DBG_CMD_ECHO,DBG_STATE,DBGMI_QUEUE_DEBUG > > this will create a logfile, that you can attach to your next mail (or if > to big for the mailing list, send to my email directly) > > > > On 13/11/17 15:41, Lubos Pintes via Lazarus wrote: >> OS is Windows 10, Lazarus 1.9, GDB 7.2. >> How can I see thread? How can I open a debug log windows? In which >> menu it is? Or is it displayed somewhere? Because I am unable to "see" >> it with screen reader. So It may look I am asking for something >> obvious, sorry. >> Dňa 13. 11. 2017 o 13:49 Martin Frb via Lazarus napísal(a): > From lazarus at mfriebe.de Tue Nov 14 13:16:18 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Tue, 14 Nov 2017 12:16:18 +0000 Subject: [Lazarus] Assembler window shows but without Debugger Exception popup In-Reply-To: References: <0d8a0ccf-4aa2-1845-dd29-b2a07621424c@mfriebe.de> Message-ID: The info is enough for explaining what happens. Before I go to the reason: It is strange the debugger does not indicate that your app was killed by a signal SigTrap. (That should be reported as bug) The signal is actually caused by FPC (more below), and it looks like this causes windows to create an additional thread in your app. That explains the stacktrace. You may need to select the other thread, to see where in your app the issue occurred. (missing auto selecting the correct thread, is a bug too, but may not always be possible) But even the other stack trace may not be of use, see below. So what happened is: You have code that writes to memory that was already freed. Most likely you freed an object, and then accessed the no longer existing object. You may have a 2nd variable holding a pointer to it. Of course it can be any other memory access, not necessarily a freed object. Maybe you used GetMem/FreeMem. Or you used a pchar to a no longer existing string. Or you incorrectly used a const param. Or something else... Your app is compiled with -gh (that is HeapTRC). and this checks (to a limited extend) if freed memory is later modified. The message "HEAP: Free Heap block 105AA5B0 modified at 105AA5D0 after it was freed" is from HeapTRC. It normally is printed to stderr. You can see that, if you compile with console window -WC (there is also an option in project options, but it uses a different switch) Those errors are often very hard to trace. AFAIK Heaptrc checks for the modification when you allocate/free memory. But by that time the code that incorrectly wrote to it has long been executed. So the stacktrace will help very little. You can try to inspect the memory at this address. Not sure maybe a watch like PByte($105AA5D0)^ Maybe this will show some data you can identify. From my experience though, this is unlikely. Not sure if HeapTRC can get you better info. The best way I know to get results are: Either inspecting code to find the  issue without debug. Or use valgrind on linux (If you can reproduce on linux) Or use watchpoints (data break points). You need a reproducible test case that always gets you the same address for the error. You need to use a PByte as above to set the watchpoint (I haven't done it in a while, you may have to play around). But that will give a lot of false positives. Too many. There is the environment variable HEAPTRC which you can set to keepreleased Then the memory will be used only once. Find the address of the error with keepreleased, then track this address with a watchpoint, and you find the object that uses the memory. Then - once the object is freed - the watchpoint will trigger, when the memory is incorrectly accessed. That is the theory. The praxis can be a long and painful search. On 14/11/17 10:17, Lubos Pintes via Lazarus wrote: > Oh, View menu, of course. I am stupid indeed. :) > I just updated a GDB to version 7.7.1 and now at least the stack trace > makes more sense. It is full of Windows API calls. However, here is a > part of debug output which seems to be relevant, at least I am not > sure what exactly this can be: > &"warning: HEAP[project1.exe]: \n" > &"warning: HEAP: Free Heap block 105AA5B0 modified at 105AA5D0 after > it was freed\n" > &"\n" > ~"[Switching to Thread 4928.0x13e8]\n" > *stopped,reason="signal-received",signal-name="SIGTRAP",signal-meaning="Trace/breakpoint > trap",frame={addr="0x778661e2",func="ntdll!RtlCaptureStackContext",args=[],from="C:\\WINDOWS\\SYSTEM32\\ntdll.dll"},thread-id="9",stopped-threads="all" > > =thread-selected,id="9" > > I extracted this output immediately after the Assembler window appeared. > Other things there are library loaded, thread created, etc. > If you still thinks it makes sense to post the Lazarus debug output > you suggested, I can of course do it. From getmem1 at gmail.com Wed Nov 15 06:07:28 2017 From: getmem1 at gmail.com (=?UTF-8?Q?Bal=C3=A1zs_Sz=C3=A9kely?=) Date: Tue, 14 Nov 2017 22:07:28 -0700 (MST) Subject: [Lazarus] IDE OI always-on-top: fix In-Reply-To: <4cd6b497-b7b9-7354-ca7c-44f33b8931ec@ya.ru> References: <4cd6b497-b7b9-7354-ca7c-44f33b8931ec@ya.ru> Message-ID: <1510722448405-0.post@n3.nabble.com> @Alexey It's fixed in r.56413. Please test. -- Sent from: http://free-pascal-lazarus.989080.n3.nabble.com/ From aaa5500 at ya.ru Wed Nov 15 08:31:25 2017 From: aaa5500 at ya.ru (Alexey) Date: Wed, 15 Nov 2017 10:31:25 +0300 Subject: [Lazarus] IDE OI always-on-top: fix In-Reply-To: <1510722448405-0.post@n3.nabble.com> References: <4cd6b497-b7b9-7354-ca7c-44f33b8931ec@ya.ru> <1510722448405-0.post@n3.nabble.com> Message-ID: <2ce1c4dc-dd9e-3d4d-a545-4819831c8b1b@ya.ru> >It's fixed in r.56413 Yes, now it's fixed this way. -- Regards, Alexey From donald at ziesig.org Wed Nov 15 18:46:14 2017 From: donald at ziesig.org (Donald Ziesig) Date: Wed, 15 Nov 2017 12:46:14 -0500 Subject: [Lazarus] Center text in multi-line hints? Message-ID: <73aa856e-da63-21ad-2145-42f3f903c77d@ziesig.org> Hi All! This is just a minor annoyance fpr me (it grates on my sense of esthetics :-)), but is there any way to center the text in a multi-line hint?  In the current app, the hint is for a TPaintBox, but I've occasionally wanted to do this for other controls in the past. I could almost do this by pre-processing the hint text, but it would not take into account even/odd character counts (better than nothing, but not optimal). Thanks, Don Ziesig From giuliano.colla at fastwebnet.it Wed Nov 15 19:42:09 2017 From: giuliano.colla at fastwebnet.it (Giuliano Colla) Date: Wed, 15 Nov 2017 19:42:09 +0100 Subject: [Lazarus] BiDi mode support Message-ID: I have a family of application which must support the change of language on the fly. This we're doing since a lot of time, and everything works just fine. Now I face the problem of providing support also for right to left languages, such as Arabic. Application.BidiMode can be set true or false, depending on the selected language, and that's ok, but setting up the proper alignment is rather cumbersome, IMO. You can use flipchildren() but after that I didn't find a way to detect if control alignment is the original one at design time, or it has been flipped. One should add a flag to each form in order to keep track of the flipping history. A more general solution to properly support right to left languages and layouts, IMHO, would be to add an isFlipped property to Tcontrol, which is toggled each time the control is flipped. It wouldn't be Delphi compatible, but also flipchildren() isn't Delphi compatible, so this shouldn't be an issue. However, before submitting a patch I'd like to know if I'm missing something, and the solution is already there. Giuliano From lazarus at kluug.net Wed Nov 15 20:41:06 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Wed, 15 Nov 2017 20:41:06 +0100 Subject: [Lazarus] Center text in multi-line hints? In-Reply-To: <73aa856e-da63-21ad-2145-42f3f903c77d@ziesig.org> References: <73aa856e-da63-21ad-2145-42f3f903c77d@ziesig.org> Message-ID: <8772766a-8e8f-9605-1a22-35af568513a7@kluug.net> On 15.11.2017 18:46, Donald Ziesig via Lazarus wrote: > Hi All! > > This is just a minor annoyance fpr me (it grates on my sense of > esthetics :-)), but is there any way to center the text in a > multi-line hint?  In the current app, the hint is for a TPaintBox, but > I've occasionally wanted to do this for other controls in the past. > > I could almost do this by pre-processing the hint text, but it would > not take into account even/odd character counts (better than nothing, > but not optimal). Paint the hint yourself with DrawText: https://msdn.microsoft.com/cs-cz/library/windows/desktop/dd162498(v=vs.85).aspx - no need to preprocess the text. Lazarus has implemented DrawText for all widgetsets. You can also use TCanvas.TextRect with the Style parameter. Ondrej From tc at epidata.info Thu Nov 16 11:25:07 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Thu, 16 Nov 2017 11:25:07 +0100 Subject: [Lazarus] Guessing the encoding of some text Message-ID: Hi List. I am reading some text of some .csv files, but the encoding of the files is not always the same. In fact it may vary greatly from a lot of european encodings, UTF8 and asian encoding. I have tried using the function GuessEncoding(..) in LConvEncoding.pas, but from the source code I can see that it mostly focuses on BOM's and ASCII/UTF-8 Does Lazarus or FPC include other convinient tools that may detect the encoding of (the content of) a file? What do others do in this situation? My goal is to convert all the read text to UTF-8. Kind regards, Torsten. From aaa5500 at ya.ru Thu Nov 16 12:02:57 2017 From: aaa5500 at ya.ru (Alexey) Date: Thu, 16 Nov 2017 14:02:57 +0300 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: References: Message-ID: <303f5df6-6b6a-271b-abe4-7069330cec85@ya.ru> >What do others do in this situation? I use https://github.com/Alexey-T/ATSynEdit/blob/master/atsynedit/atstringproc_utf8detect.pas -- Regards, Alexey From joshyfun at gmail.com Thu Nov 16 13:02:39 2017 From: joshyfun at gmail.com (=?UTF-8?Q?Jos=c3=a9_Mejuto?=) Date: Thu, 16 Nov 2017 13:02:39 +0100 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: References: Message-ID: <6835d5b6-fa83-fb95-f032-82c4b3f7113f@gmail.com> El 16/11/2017 a las 11:25, Torsten Bonde Christiansen via Lazarus escribió: > Hi List. > > I am reading some text of some .csv files, but the encoding of the files > is not always the same. In fact it may vary greatly from a lot of > european encodings, UTF8 and asian encoding. > Hello, Some years ago I wrote a code that must be trained which guess encoding and language. The problems are that it must be trained with large texts and of course the result are only statistical and only quite good over quite large texts (like 1000 chars or more) so it is not good for single sentences. If you are interested I can dive into old codes to catch it. -- From nc-gaertnma at netcologne.de Thu Nov 16 15:20:49 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Thu, 16 Nov 2017 15:20:49 +0100 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: <303f5df6-6b6a-271b-abe4-7069330cec85@ya.ru> References: <303f5df6-6b6a-271b-abe4-7069330cec85@ya.ru> Message-ID: <20171116152049.294ae1b9@limapholos.matflo.wg> On Thu, 16 Nov 2017 14:02:57 +0300 Alexey via Lazarus wrote: > >What do others do in this situation? > > I use > https://github.com/Alexey-T/ATSynEdit/blob/master/atsynedit/atstringproc_utf8detect.pas That's checking if a zeroed string is valid UTF-8. GuessEncoding does that too, although it supports #0 chars in string. Mattias From luca at wetron.es Thu Nov 16 16:28:37 2017 From: luca at wetron.es (Luca Olivetti) Date: Thu, 16 Nov 2017 16:28:37 +0100 Subject: [Lazarus] Control DBGrid row position Message-ID: <63f1af61-ff26-3f1c-4d39-ab1b65472e53@wetron.es> Is there a way to control the position of the selected row in a TDBGrid? With a TStringGrid you can control it with TopRow, but TDBGrid has no such property and I couldn't find a way to do what I want. I understand that TopRow wouldn't make sense in a DBGrid, but I need the same functionality: I have a huge amount of data (let's say 200000 records), so, in the AfterScroll event of the query, when I'm approaching the end or the beginning of the dataset, I modify the query to show the previous or next page of data[*] and then reposition (with locate) to the same record where it was before changing the query. It works well but the problem is that, when scrolling downward, the selected row jumps every time I do this, i.e., usually it's the bottom row, when I go down and reload the data this way, it jumps to the middle of the dbgrid[**]. I'd like a way to keep it in the bottom row, so the scrolling appears seamless. It doesn't happen when scrolling upwards, probably because the dbgrid in this case always shows the data on the first row. Then it would also be nice to control the size and relative position of the scrollbar, but that's another matter. [*] actually I'm currently loading 200 records at a time and when scrolling I just shift the visible window 50 records up or down. [**] more or less, it depends on the size of the window. Bye -- Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 From luca at wetron.es Thu Nov 16 17:43:13 2017 From: luca at wetron.es (Luca Olivetti) Date: Thu, 16 Nov 2017 17:43:13 +0100 Subject: [Lazarus] Control DBGrid row position In-Reply-To: <63f1af61-ff26-3f1c-4d39-ab1b65472e53@wetron.es> References: <63f1af61-ff26-3f1c-4d39-ab1b65472e53@wetron.es> Message-ID: <37fa15c2-49ad-96ee-a075-610f2e3f13b5@wetron.es> El 16/11/17 a les 16:28, Luca Olivetti via Lazarus ha escrit: > Is there a way to control the position of the selected row in a TDBGrid? > > With a TStringGrid you can control it with TopRow, but TDBGrid has no > such property and I couldn't find a way to do what I want. > > I understand that TopRow wouldn't make sense in a DBGrid, but I need the > same functionality: I have a huge amount of data (let's say 200000 > records), so, in the AfterScroll event of the query, when I'm > approaching the end or the beginning of the dataset, I modify the query > to show the previous or next page of data[*] and then reposition (with > locate) to the same record where it was before changing the query. > > It works well but the problem is that, when scrolling downward, the > selected row jumps every time I do this, i.e., usually it's the bottom > row, when I go down and reload the data this way, it jumps to the middle > of the dbgrid[**]. I'd like a way to keep it in the bottom row, so the > scrolling appears seamless. An ugly workaround: moved:=Query.MoveBy(-50); Query.MoveBy(-moved); > > It doesn't happen when scrolling upwards, probably because the dbgrid in > this case always shows the data on the first row. > > Then it would also be nice to control the size and relative position of > the scrollbar, but that's another matter. For the time being I just don't show the scrollbar. Bye -- Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 From zoe at scootersoftware.com Fri Nov 17 00:57:13 2017 From: zoe at scootersoftware.com (=?UTF-8?Q?Zo=c3=ab_Peterson?=) Date: Thu, 16 Nov 2017 17:57:13 -0600 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: References: Message-ID: <50457b91-fcec-ef54-070d-43bbdf38dc10@scootersoftware.com> On 11/16/2017 4:25 AM, Torsten Bonde Christiansen via Lazarus wrote: > Does Lazarus or FPC include other convinient tools that may detect the > encoding of (the content of) a file? > What do others do in this situation? If you need cross-platform, this works with some trivial changes: http://chsdet.sourceforge.net/ If you're Windows only, Microsoft provides IMultiLanguage2.DetectInputCodepage(): https://msdn.microsoft.com/en-us/library/aa740986(v=vs.85).aspx -- Zoë Peterson Scooter Software From aaa5500 at ya.ru Fri Nov 17 08:35:47 2017 From: aaa5500 at ya.ru (Alexey) Date: Fri, 17 Nov 2017 10:35:47 +0300 Subject: [Lazarus] Apply diff in mantis, CF_text/CF_bitmap Message-ID: <96b3004e-f22e-05e1-f348-7382339251a7@ya.ru> Pls see and apply it, posted long ago: https://bugs.freepascal.org/view.php?id=27194 -- Regards, Alexey From tc at epidata.info Fri Nov 17 08:49:00 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Fri, 17 Nov 2017 08:49:00 +0100 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: <50457b91-fcec-ef54-070d-43bbdf38dc10@scootersoftware.com> References: <50457b91-fcec-ef54-070d-43bbdf38dc10@scootersoftware.com> Message-ID: <99788091-fa13-82a9-37e0-ade230cf2cb8@epidata.info> On 2017-11-17 00:57, Zoë Peterson via Lazarus wrote: > On 11/16/2017 4:25 AM, Torsten Bonde Christiansen via Lazarus wrote: >> Does Lazarus or FPC include other convinient tools that may detect >> the encoding of (the content of) a file? >> What do others do in this situation? > > If you need cross-platform, this works with some trivial changes: > > http://chsdet.sourceforge.net/ Thanks - this is just what I was looking for. Regards, Torsten. From aaa5500 at ya.ru Fri Nov 17 10:03:33 2017 From: aaa5500 at ya.ru (Alexey) Date: Fri, 17 Nov 2017 12:03:33 +0300 Subject: [Lazarus] Guessing the encoding of some text Message-ID: <23b0cf9d-4da0-50ff-193e-89eb76677ebb@ya.ru> ChsDet is in IDE OnlinePackageManager, "trivial changes" aren't needed. Alexey From tc at epidata.info Fri Nov 17 10:23:30 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Fri, 17 Nov 2017 10:23:30 +0100 Subject: [Lazarus] Guessing the encoding of some text In-Reply-To: <23b0cf9d-4da0-50ff-193e-89eb76677ebb@ya.ru> References: <23b0cf9d-4da0-50ff-193e-89eb76677ebb@ya.ru> Message-ID: On 2017-11-17 10:03, Alexey via Lazarus wrote: > ChsDet is in IDE OnlinePackageManager, "trivial changes" aren't needed. > > Alexey Oh super! thanks, Torsten. From lubos.pintes at gmail.com Mon Nov 20 10:54:49 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 20 Nov 2017 10:54:49 +0100 Subject: [Lazarus] Developing a WidgetSet In-Reply-To: References: Message-ID: Hello again, I am hunting for hard-to-find bug and have no idea where it happens. Now I would like to ask about correct way of adding a new message into the Win32WidgetSet. Chances are that I am doing it incorrectly. I need to handle a WM_GETOBJECT message, and I did it as follows: WM_GETOBJECT: with WindowInfo^ do if(WinControl <> nil) and(LParam = UiaRootObjectId) then begin Provider := TUIAControl(WinControl.GetAccessibleObject.Handle); Exit(UiaReturnRawElementProvider(Window, WParam, LParam, Provider)); end else Exit(CallDefaultWindowProc(Window, Msg, WParam, LParam)); I added this into TWindowProcHelper.DoWindowProc: LResult; Provider is the IRawElementProviderSimple interface and TUIAControl is a class implementing it based on information obtained from T(Win)Control. I can confirm that Inspect can see the object(s). But one symptom I am receiving that a screen reader is unable to register that a form receives the focus. If I alt-tabbing, I hear "Project1", instead of "Form1". But when I place for example a button to the form, it is reported correctly. And when I place a TLabel on the form, I receive a bug I described in another thread. So now I stopped here and am unable to continue. I added a trace information into every function I implemented to see what is happening, but I have no idea what is bad there... Hope someone will be able to understand this. :) Thanks! Dňa 8. 10. 2017 o 22:09 Lubos Pintes via Lazarus napísal(a): > Hello, > If I want to add a functionality like accessibility to WidgetSet, which > package could I use, lcl.lpk, or lclbase.lpk? > Also, how can I rebuilt the package when I modify/add some unit? Do I > need to always rebuild the IDe, or there is a quicker way? > I am thinking about syntax check / quick compilation to incrementally > check and fix semantic / syntax errors. > > Thanks > From donald at ziesig.org Mon Nov 20 22:41:39 2017 From: donald at ziesig.org (Donald Ziesig) Date: Mon, 20 Nov 2017 16:41:39 -0500 Subject: [Lazarus] Todo lists. Message-ID: <30dcc261-747a-1e29-3001-c781f5e89472@ziesig.org> Hi Everyone! I used to (infrequently) use the Menu command or the hot key ctrl-shift-t to add properly formatted Todo comments in my code. I believe it was in the Source sub-menu.  I remember using an entry in the Source sub-menu to show a list of Todo's in the program. I can't find either of the menu items for Todo, nor does the hot key work in v1.80RC4. What am I missing :'( ? Thanks Don Ziesig From vojtech.cihak at atlas.cz Tue Nov 21 19:14:17 2017 From: vojtech.cihak at atlas.cz (=?utf-8?q?Vojt=C4=9Bch_=C4=8Cih=C3=A1k?=) Date: Tue, 21 Nov 2017 19:14:17 +0100 Subject: [Lazarus] =?utf-8?q?Fonts_for_Lazarus?= Message-ID: <20171121191417.BA78CB9E@atlas.cz> Hi, I started thread about fonts on forum. There's info about new font from IBM (IBM Plex Mono) and list of ten fonts good-looking in Source Editor. See: http://forum.lazarus.freepascal.org/index.php/topic,39020.0.html   V.  From chavoux at gmail.com Wed Nov 22 06:07:02 2017 From: chavoux at gmail.com (Chavoux Luyt) Date: Wed, 22 Nov 2017 07:07:02 +0200 Subject: [Lazarus] Favourite stand-alone db file? In-Reply-To: References: Message-ID: Hi, I remember that years ago in Delphi I often used Paradox (less often dBase) to create a small stand-alone database with my Delphi desktop programs. It had tge advantage of 1. using Delphi database controls, 2. no need for a database server or DBMS to be installed on the client's machine (= less resources), 3. having the ability to deploy the database (basically the DB file(s) (I think it was one file per table), a .dll and a setup file telling the program where the db is stored (and links between tables?)) all together in a single install file (Installshield most of the time, sometimes a custom self-extracting file). I am sure that Lazarus must still be used for these kind of quick-and-easy small stand-alone desktop applications. But what is your favourite small/embedded database for this kind of once-off personal programs these days, and why? Preferably something that can be used on both Linux and Windows without the need for ODBC or similar. Cheers Chavoux -------------- next part -------------- An HTML attachment was scrubbed... URL: From badsectoracula at gmail.com Thu Nov 23 03:23:19 2017 From: badsectoracula at gmail.com (Kostas Michalopoulos) Date: Thu, 23 Nov 2017 04:23:19 +0200 Subject: [Lazarus] External/out-of-tree LCL widgetset Message-ID: Is there a way to have an LCL widgetset outside of the Lazarus tree? I'm considering writing one for my Little Forms C toolkit at some point but i don't think it would be very useful to others so i don't think there is much of a value in having it as part of the Lazarus codebase (and TBH i cannot guarantee i wont abandon it). Even better if it is possible for it to exist as a package. My main motivation is wanting to get away from the modern madness of GTK3+/Qt5+/Wayland and all that stuff and their dependencies but i'd rather not rewrite in C all the tools and library code i wrote in Lazarus, so a custom widgetset that relies only on Little Forms (which itself makes an effort to rely only on libX11 with an optional Xft dependency) sounds ideal. However i'm not sure how extensible the LCL widgetset backend is and from a quick look it seems like there is a ton of manual work just to introduce a new one. Am i missing something? Worst case, i'll maintain it as a patchset that needs to be updated with the main code, but i'd rather not if there is a cleaner way (or can be easily introduced, after all this isn't something i need immediately :-P and i think there is value on this being a standard feature). -------------- next part -------------- An HTML attachment was scrubbed... URL: From giuliano.colla at fastwebnet.it Sat Nov 25 13:38:06 2017 From: giuliano.colla at fastwebnet.it (Giuliano Colla) Date: Sat, 25 Nov 2017 13:38:06 +0100 Subject: [Lazarus] Ping Message-ID: <41a1c20a-b433-3de2-aca9-813df32b97f8@fastwebnet.it> Just a test to see if server is still alive From giuliano.colla at fastwebnet.it Sat Nov 25 13:38:06 2017 From: giuliano.colla at fastwebnet.it (Giuliano Colla) Date: Sat, 25 Nov 2017 13:38:06 +0100 Subject: [Lazarus] Ping Message-ID: <41a1c20a-b433-3de2-aca9-813df32b97f8@fastwebnet.it> Just a test to see if server is still alive From larrydalton71 at gmail.com Sat Nov 25 17:55:30 2017 From: larrydalton71 at gmail.com (Larry Dalton) Date: Sat, 25 Nov 2017 11:55:30 -0500 Subject: [Lazarus] Not getting emails this week Message-ID: <6ABC2DD7-B8EE-47C1-89F3-EC526E9936F0@gmail.com> Was there something I was supposed to do? Sent from my iPhone From vojtech.cihak at atlas.cz Sat Nov 25 19:21:59 2017 From: vojtech.cihak at atlas.cz (=?utf-8?q?Vojt=C4=9Bch_=C4=8Cih=C3=A1k?=) Date: Sat, 25 Nov 2017 19:21:59 +0100 Subject: [Lazarus] =?utf-8?q?Deleting_items_in_OI?= In-Reply-To: 000000007f45000075d401485007 References: <20171025193003.8760A5AF@atlas.cz> 000000007f45000075d401485007 Message-ID: <20171125192159.B17E8244@atlas.cz> Hi,   I just have some more info. Everything was OK to revision 52209. OI was completly broken between 52210 and 52229 (components didn't appear at all). Revision 52230 improved OI but deleting didn't work as described in previous mails, it's up to now.   V.   ______________________________________________________________ > Od: Juha Manninen via Lazarus > Komu: Lazarus mailing list > Datum: 25.10.2017 20:31 > Předmět: Re: [Lazarus] Deleting items in OI > On Wed, Oct 25, 2017 at 8:30 PM, Vojtěch Čihák via Lazarus wrote: > I got this code for design time editing (note the line+comment *** > aHook.SelectOnlyThis(aECTC.Tabs);  { force the OI to refresh } ***). > > That line should refresh OI so the deleted item (CollectionItem) is removed > (node in OI). > > It worked in recent Lazarus versions, but it doesn't work in the latest > trunk (i.e. item is removed but related node in OI persists). > > I don't know which revision broke it. > > What should I do? I could look at it. What is the easiest way to reproduce? Juha -- _______________________________________________ Lazarus mailing list Lazarus at lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Sat Nov 25 23:25:51 2017 From: aaa5500 at ya.ru (Alexey) Date: Sun, 26 Nov 2017 01:25:51 +0300 Subject: [Lazarus] Center text in multi-line hints? In-Reply-To: <8772766a-8e8f-9605-1a22-35af568513a7@kluug.net> References: <73aa856e-da63-21ad-2145-42f3f903c77d@ziesig.org> <8772766a-8e8f-9605-1a22-35af568513a7@kluug.net> Message-ID: <45d2a966-f424-659c-db91-7143c908d932@ya.ru> > any way to center the text in a multi-line hint? You can now apply the patch https://bugs.freepascal.org/view.php?id=32716 -- Regards, Alexey From marc at dommelstein.nl Sun Nov 26 13:42:52 2017 From: marc at dommelstein.nl (Marc Weustink) Date: Sun, 26 Nov 2017 13:42:52 +0100 Subject: [Lazarus] test - please ignore / don't reply Message-ID: <0b6c31c0-cd34-965e-8464-80eae51c486b@dommelstein.nl> does the server accept this From marc at dommelstein.nl Sun Nov 26 13:42:52 2017 From: marc at dommelstein.nl (Marc Weustink) Date: Sun, 26 Nov 2017 13:42:52 +0100 Subject: [Lazarus] test - please ignore / don't reply Message-ID: <0b6c31c0-cd34-965e-8464-80eae51c486b@dommelstein.nl> does the server accept this From marc at dommelstein.nl Sun Nov 26 14:29:38 2017 From: marc at dommelstein.nl (Marc Weustink) Date: Sun, 26 Nov 2017 14:29:38 +0100 Subject: [Lazarus] Mailserver outage Message-ID: <4bcad7e6-13ad-7c99-a38d-bc471c52d90e@dommelstein.nl> Hi, As you might have noticed, this mailinglist had a hiccup. I couldn't find any trace why, but a simple reboot did the trick. Marc From bartjunk64 at gmail.com Sun Nov 26 14:42:29 2017 From: bartjunk64 at gmail.com (Bart) Date: Sun, 26 Nov 2017 14:42:29 +0100 Subject: [Lazarus] Todo lists. In-Reply-To: <30dcc261-747a-1e29-3001-c781f5e89472@ziesig.org> References: <30dcc261-747a-1e29-3001-c781f5e89472@ziesig.org> Message-ID: On Mon, Nov 20, 2017 at 10:41 PM, Donald Ziesig via Lazarus wrote: > I can't find either of the menu items for Todo, nor does the hot key work in > v1.80RC4. > > What am I missing :'( ? Do you have the ToDoListLaz package installed? Bart From doug at moosemail.net Sun Nov 26 14:52:54 2017 From: doug at moosemail.net (DougC) Date: Sun, 26 Nov 2017 08:52:54 -0500 Subject: [Lazarus] Favourite stand-alone db file? In-Reply-To: References: Message-ID: <15ff89a2c2a.11d5c2ee613738.5603135214080836528@moosemail.net> It would be hard to beat SQLite for a small stand-alone single-user RDBMS. ---- On Wed, 22 Nov 2017 00:07:02 -0500 Chavoux Luyt via Lazarus <lazarus at lists.lazarus-ide.org> wrote ---- Hi, I remember that years ago in Delphi I often used Paradox (less often dBase) to create a small stand-alone database with my Delphi desktop programs. It had tge advantage of 1. using Delphi database controls, 2. no need for a database server or DBMS to be installed on the client's machine (= less resources), 3. having the ability to deploy the database (basically the DB file(s) (I think it was one file per table), a .dll and a setup file telling the program where the db is stored (and links between tables?)) all together in a single install file (Installshield most of the time, sometimes a custom self-extracting file). I am sure that Lazarus must still be used for these kind of quick-and-easy small stand-alone desktop applications. But what is your favourite small/embedded database for this kind of once-off personal programs these days, and why? Preferably something that can be used on both Linux and Windows without the need for ODBC or similar. Cheers Chavoux -- _______________________________________________ Lazarus mailing list Lazarus at lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus -------------- next part -------------- An HTML attachment was scrubbed... URL: From lkppo at free.fr Sun Nov 26 14:53:54 2017 From: lkppo at free.fr (=?iso-8859-1?Q?St=E9phane?= Aulery) Date: Sun, 26 Nov 2017 14:53:54 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <20171126135354.cf6tvgltjdffkq5b@central> Hello, On Thu, Nov 23, 2017 at 04:23:19AM +0200, Kostas Michalopoulos via Lazarus wrote: > > My main motivation is wanting to get away from the modern madness of > GTK3+/Qt5+/Wayland and all that stuff and their dependencies but i'd rather > not rewrite in C all the tools and library code i wrote in Lazarus, so a > custom widgetset that relies only on Little Forms (which itself makes an > effort to rely only on libX11 with an optional Xft dependency) sounds ideal. You could give a try to fpGUI Toolkit : http://fpgui.sourceforge.net/ Regards, -- Stéphane Aulery From lazarus at mfriebe.de Sun Nov 26 16:09:48 2017 From: lazarus at mfriebe.de (Martin Frb) Date: Sun, 26 Nov 2017 15:09:48 +0000 Subject: [Lazarus] Developing a WidgetSet In-Reply-To: References: Message-ID: I am not 100% sure, but maybe this is because (afaik) there is a hidden form for the task button. This hidden form can be disabled somewhere, then the main form will be responsible for the task button. On 20/11/2017 09:54, Lubos Pintes via Lazarus wrote: > > I can confirm that Inspect can see the object(s). But one symptom I am > receiving that a screen reader is unable to register that a form > receives the focus. If I alt-tabbing, I hear "Project1", instead of > "Form1". From mse00000 at gmail.com Sun Nov 26 16:30:57 2017 From: mse00000 at gmail.com (Martin Schreiber) Date: Sun, 26 Nov 2017 16:30:57 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <20171126135354.cf6tvgltjdffkq5b@central> References: <20171126135354.cf6tvgltjdffkq5b@central> Message-ID: <201711261630.57562.mse00000@gmail.com> On Sunday 26 November 2017 14:53:54 Stéphane Aulery via Lazarus wrote: > Hello, > > On Thu, Nov 23, 2017 at 04:23:19AM +0200, Kostas Michalopoulos via Lazarus wrote: > > My main motivation is wanting to get away from the modern madness of > > GTK3+/Qt5+/Wayland and all that stuff and their dependencies but i'd > > rather not rewrite in C all the tools and library code i wrote in > > Lazarus, so a custom widgetset that relies only on Little Forms (which > > itself makes an effort to rely only on libX11 with an optional Xft > > dependency) sounds ideal. > > You could give a try to fpGUI Toolkit : > > http://fpgui.sourceforge.net/ > or MSEide+MSEgui: https://sourceforge.net/projects/mseide-msegui/ Just released version 4.6. Martin From pascaldragon at googlemail.com Sun Nov 26 17:13:01 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Sun, 26 Nov 2017 17:13:01 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: Am 26.11.2017 14:23 schrieb "Kostas Michalopoulos via Lazarus" < lazarus at lists.lazarus-ide.org>: Is there a way to have an LCL widgetset outside of the Lazarus tree? I'm considering writing one for my Little Forms C toolkit at some point but i don't think it would be very useful to others so i don't think there is much of a value in having it as part of the Lazarus codebase (and TBH i cannot guarantee i wont abandon it). Even better if it is possible for it to exist as a package. My main motivation is wanting to get away from the modern madness of GTK3+/Qt5+/Wayland and all that stuff and their dependencies but i'd rather not rewrite in C all the tools and library code i wrote in Lazarus, so a custom widgetset that relies only on Little Forms (which itself makes an effort to rely only on libX11 with an optional Xft dependency) sounds ideal. However i'm not sure how extensible the LCL widgetset backend is and from a quick look it seems like there is a ton of manual work just to introduce a new one. Am i missing something? Worst case, i'll maintain it as a patchset that needs to be updated with the main code, but i'd rather not if there is a cleaner way (or can be easily introduced, after all this isn't something i need immediately :-P and i think there is value on this being a standard feature). Lazarus already contains a custom drawn widgetset that supports X11. I don't know its current state, but maybe it would be best to bring that up to speed and form instead of starting a new one. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From lazarus at kluug.net Sun Nov 26 18:13:30 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sun, 26 Nov 2017 18:13:30 +0100 Subject: [Lazarus] Developing a WidgetSet In-Reply-To: References: Message-ID: On 26.11.2017 16:09, Martin Frb via Lazarus wrote: > I am not 100% sure, but maybe this is because (afaik) there is a > hidden form for the task button. This hidden form can be disabled > somewhere, then the main form will be responsible for the task button. > > On 20/11/2017 09:54, Lubos Pintes via Lazarus wrote: >> >> I can confirm that Inspect can see the object(s). But one symptom I >> am receiving that a screen reader is unable to register that a form >> receives the focus. If I alt-tabbing, I hear "Project1", instead of >> "Form1". > Correct. Use Application.MainFormOnTaskbar := True to register the form for the taskbar. Ondrej From badsectoracula at gmail.com Sun Nov 26 18:32:21 2017 From: badsectoracula at gmail.com (Kostas Michalopoulos) Date: Sun, 26 Nov 2017 19:32:21 +0200 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: @Stephane: @Sven: I know about fpGUI (Sven i assume you mean that), but i am already working on a widget toolkit for a few years now which is written in C and if i'm going to work on a custom widgetset might as well make it target the one i'm already working on which is used by some other stuff i am doing to keep things consistent. Also AFAIK fpGUI doesn't use the native window system beyond the toplevel windows, which i think would make OpenGL support and interfacing with external stuff (e.g. calling an external library where you pass a HWND/X11 Window directly) harder. As i said, i do not think this would be useful enough to others to be part of the Lazarus tree. I ask because i remember a few months ago someone having an Amiga widgetset pretty much in working condition and that was something he worked on for a while, so i wondered if there was some mechanism for that. I suppose just having a big patch would also work, although it is kind of inconvenient. @Martin: AFAIK MSEgui doesn't have an LCL widgetset. Most of my code is LCL specific and my concern is to keep using that code. If i am to rewrite it, might as well rewrite it in C. On Sun, Nov 26, 2017 at 6:13 PM, Sven Barth via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > Am 26.11.2017 14:23 schrieb "Kostas Michalopoulos via Lazarus" < > lazarus at lists.lazarus-ide.org>: > > Is there a way to have an LCL widgetset outside of the Lazarus tree? I'm > considering writing one for my Little Forms C toolkit at some point but i > don't think it would be very useful to others so i don't think there is > much of a value in having it as part of the Lazarus codebase (and TBH i > cannot guarantee i wont abandon it). Even better if it is possible for it > to exist as a package. > > My main motivation is wanting to get away from the modern madness of > GTK3+/Qt5+/Wayland and all that stuff and their dependencies but i'd rather > not rewrite in C all the tools and library code i wrote in Lazarus, so a > custom widgetset that relies only on Little Forms (which itself makes an > effort to rely only on libX11 with an optional Xft dependency) sounds ideal. > > However i'm not sure how extensible the LCL widgetset backend is and from > a quick look it seems like there is a ton of manual work just to introduce > a new one. Am i missing something? > > Worst case, i'll maintain it as a patchset that needs to be updated with > the main code, but i'd rather not if there is a cleaner way (or can be > easily introduced, after all this isn't something i need immediately :-P > and i think there is value on this being a standard feature). > > > > Lazarus already contains a custom drawn widgetset that supports X11. I > don't know its current state, but maybe it would be best to bring that up > to speed and form instead of starting a new one. > > Regards, > Sven > > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pascaldragon at googlemail.com Mon Nov 27 07:52:58 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Mon, 27 Nov 2017 07:52:58 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: Am 26.11.2017 18:32 schrieb "Kostas Michalopoulos via Lazarus" < lazarus at lists.lazarus-ide.org>: @Stephane: @Sven: I know about fpGUI (Sven i assume you mean that), but i am already working on a widget toolkit for a few years now which is written in C and if i'm going to work on a custom widgetset might as well make it target the one i'm already working on which is used by some other stuff i am doing to keep things consistent. No, you assume incorrectly. The custom drawn widget set is independent of the fpgui widgetset and completely resides inside the LCL. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From mse00000 at gmail.com Mon Nov 27 09:06:09 2017 From: mse00000 at gmail.com (Martin Schreiber) Date: Mon, 27 Nov 2017 09:06:09 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <201711270906.09630.mse00000@gmail.com> On Sunday 26 November 2017 18:32:21 Kostas Michalopoulos via Lazarus wrote: > > Also AFAIK fpGUI doesn't use the native window system beyond the toplevel > windows, which i think would make OpenGL support and interfacing with > external stuff (e.g. calling an external library where you pass a HWND/X11 > Window directly) harder. > MSEgui has TWindowWidget (has a window handle) and TOpenglWidget for that purpose. I am sure fpGUI also could introduce such widgets. There is also a fpGUI version with windowhandle per widget. [...] > > AFAIK MSEgui doesn't have an LCL widgetset. Most of my code is LCL specific > and my concern is to keep using that code. If i am to rewrite it, might as > well rewrite it in C. > I doubt it. ;-) If the "business logic" is well separated solely the forms must be reverse engineered with MSEgui which often is possible with managable time and effort. Martin From M.Santhoff at web.de Mon Nov 27 11:25:28 2017 From: M.Santhoff at web.de (Marc Santhoff) Date: Mon, 27 Nov 2017 11:25:28 +0100 Subject: [Lazarus] translation of oss' soundcard.h Message-ID: <1511778328.14231.5.camel@puma.das.netz> Hi, has soundcard.h from OSS API already been translated to Pascal? OSS is used for accessing soundcards and MIDI devices by Linux and FreeBSD. TIA, Marc From M.Santhoff at web.de Mon Nov 27 11:36:22 2017 From: M.Santhoff at web.de (Marc Santhoff) Date: Mon, 27 Nov 2017 11:36:22 +0100 Subject: [Lazarus] translation of oss' soundcard.h In-Reply-To: <1511778328.14231.5.camel@puma.das.netz> References: <1511778328.14231.5.camel@puma.das.netz> Message-ID: <1511778982.14231.6.camel@puma.das.netz> Sorry, this would belong to the fpc list... On Mo, 2017-11-27 at 11:25 +0100, Marc Santhoff via Lazarus wrote: > Hi, > > > has soundcard.h from OSS API already been translated to Pascal? > > OSS is used for accessing soundcards and MIDI devices by Linux and > FreeBSD. > > TIA, > Marc > > From michael at freepascal.org Mon Nov 27 11:39:15 2017 From: michael at freepascal.org (Michael Van Canneyt) Date: Mon, 27 Nov 2017 11:39:15 +0100 (CET) Subject: [Lazarus] translation of oss' soundcard.h In-Reply-To: <1511778328.14231.5.camel@puma.das.netz> References: <1511778328.14231.5.camel@puma.das.netz> Message-ID: On Mon, 27 Nov 2017, Marc Santhoff via Lazarus wrote: > Hi, > > > has soundcard.h from OSS API already been translated to Pascal? > > OSS is used for accessing soundcards and MIDI devices by Linux and > FreeBSD. Not that I am aware of. Michael. From markMLl.lazarus at telemetry.co.uk Mon Nov 27 11:53:58 2017 From: markMLl.lazarus at telemetry.co.uk (Mark Morgan Lloyd) Date: Mon, 27 Nov 2017 10:53:58 +0000 Subject: [Lazarus] translation of oss' soundcard.h In-Reply-To: <1511778328.14231.5.camel@puma.das.netz> References: <1511778328.14231.5.camel@puma.das.netz> Message-ID: On 27/11/17 10:30, Marc Santhoff via Lazarus wrote: > Hi, > > has soundcard.h from OSS API already been translated to Pascal? > OSS is used for accessing soundcards and MIDI devices by Linux andFreeBSD. I don't know whether this is remotely helpful but I've used alsapas-0.9.7 to intercept and rewrite MIDI messages. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] From mschnell at lumino.de Mon Nov 27 12:16:41 2017 From: mschnell at lumino.de (Michael Schnell) Date: Mon, 27 Nov 2017 12:16:41 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <27afb0a0-1694-72d9-b1a8-3a555fa75a35@lumino.de> On 26.11.2017 17:13, Sven Barth via Lazarus wrote: > Lazarus already contains a custom drawn widgetset that supports X11. I > don't know its current state, but maybe it would be best to bring that > up to speed and form instead of starting a new one. Some time ago I did play with the custom drawn Widget Type. I found that it was not yet complete but rather promising. AFAIK, not much has changed since then . Anyway I also would suggest to use this to build on. This will be a lot easier that do something completely new. In fact, Widget Types need to be known to the Lazarus IDE, as same is able to have the user select them and force them via definition of conditionals fed to the compiler. -Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From mschnell at lumino.de Mon Nov 27 12:19:55 2017 From: mschnell at lumino.de (Michael Schnell) Date: Mon, 27 Nov 2017 12:19:55 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: On 26.11.2017 18:32, Kostas Michalopoulos via Lazarus wrote: > i am already working on a widget toolkit for a few years now which is > written in C ... Most of my code is LCL specific This seems like a very peculiar combination to me. -Michael From nc-gaertnma at netcologne.de Mon Nov 27 12:36:18 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 27 Nov 2017 12:36:18 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <20171127123618.0301adf1@limapholos.matflo.wg> On Sun, 26 Nov 2017 19:32:21 +0200 Kostas Michalopoulos via Lazarus wrote: >[...] > As i said, i do not think this would be useful enough to others to be part > of the Lazarus tree. I ask because i remember a few months ago someone > having an Amiga widgetset pretty much in working condition and that was > something he worked on for a while, so i wondered if there was some > mechanism for that. I suppose just having a big patch would also work, > although it is kind of inconvenient. The Amiga widgetset is the 'mui'. You can add a new widgetset in folder lcl/interfaces/yourws and use it in your project. For some nicer integration you can add an enum to lcl/lclplatformdef.pas. The IDE checks only the sources listed in the lcl.lpk. Since your files are not listed there, changing any of your widgetset sources will not trigger building the LCL package automatically. So you have to click on the 'Compile' button in the LCL package. Mattias From lubos.pintes at gmail.com Mon Nov 27 12:47:46 2017 From: lubos.pintes at gmail.com (Lubos Pintes) Date: Mon, 27 Nov 2017 12:47:46 +0100 Subject: [Lazarus] Developing a WidgetSet In-Reply-To: References: Message-ID: Hmm... But if I disable my UIA code then the form works as expected. Also If I place some standard control to a form like TButton. But I will try the MainFormInTaskbar property to see what happens. Dňa 26. 11. 2017 o 18:13 Ondrej Pokorny via Lazarus napísal(a): > On 26.11.2017 16:09, Martin Frb via Lazarus wrote: >> I am not 100% sure, but maybe this is because (afaik) there is a >> hidden form for the task button. This hidden form can be disabled >> somewhere, then the main form will be responsible for the task button. >> >> On 20/11/2017 09:54, Lubos Pintes via Lazarus wrote: >>> >>> I can confirm that Inspect can see the object(s). But one symptom I >>> am receiving that a screen reader is unable to register that a form >>> receives the focus. If I alt-tabbing, I hear "Project1", instead of >>> "Form1". >> > Correct. Use Application.MainFormOnTaskbar := True to register the form > for the taskbar. > > Ondrej > From tc at epidata.info Mon Nov 27 13:43:33 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Mon, 27 Nov 2017 13:43:33 +0100 Subject: [Lazarus] String Grid Component Message-ID: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> Hi List. I am looking for grid component that can display string. Simple enought and i know of a few already, but the ones i know of cannot do both of the following requirements i have: a) Fast (very low delay on 100.000+ lines of test) b) Allow selecting multiple cells spanning rows and colomns. For a) i know of VirtualTreeview which handles large data very very fine. The problem is that is does not allow for selecting multiple columns and rows combined. For b) there is the native LCL stringgrid, the lazarus package TKontrols is also good, but they don't handle large data very well. Mostly because all rows/columns are traversed (initialized) instead of the just the actual rows/columns displayed onscreen. So i am asking if you know of a good string grid component that can handle both things equally well. Kind regards, Torsten. From lazarus at kluug.net Mon Nov 27 16:09:34 2017 From: lazarus at kluug.net (Ondrej Pokorny) Date: Mon, 27 Nov 2017 16:09:34 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> Message-ID: On 27.11.2017 13:43, Torsten Bonde Christiansen via Lazarus wrote: > So i am asking if you know of a good string grid component that can > handle both things equally well. TDrawGrid. Use a string/data storage of your choice. Ondrej From werner.pamler at freenet.de Mon Nov 27 16:21:36 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Mon, 27 Nov 2017 16:21:36 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> Message-ID: <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> Am 27.11.2017 um 13:43 schrieb Torsten Bonde Christiansen via Lazarus: > I am looking for grid component that can display string. Simple > enought and i know of a few already, but the ones i know of cannot do > both of the following requirements i have: > > a) Fast (very low delay on 100.000+ lines of test) > b) Allow selecting multiple cells spanning rows and colomns. > > For a) i know of VirtualTreeview which handles large data very very > fine. The problem is that is does not allow for selecting multiple > columns and rows combined. > > For b) there is the native LCL stringgrid, the lazarus package > TKontrols is also good, but they don't handle large data very well. > Mostly because all rows/columns are traversed (initialized) instead of > the just the actual rows/columns displayed onscreen. (a) What is "fast"? If I populate a standard TStringGrid with 100.000 rows x 100 columns (= 10 millions of cells) it takes about 9 seconds on my PC - if BeginUpdate/EndUpdate is used. Not too bad in my eyes. If it's too long you should use a TDrawGrid and paint the cells in the OnDrawCell event. Since this draws only the visible cells it will occur within the blink of an eye. Editing a TDrawGrid is a bit more complicated, though, but doable. (b) Multiselection has been added to the LCL grids (StringGrid and DrawGrid) some time ago. Set option goRangeSelect, and - if the cells selected are not contiguous - change RangeSelectMode to rsmMulti. Then you can select individual cells by Ctrl- and Shift-Clicks like you know from Excel. Of course you should ask yourself the question: Is a grid with millions of cells really something a user wants to work with? From werner.pamler at freenet.de Mon Nov 27 16:48:12 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Mon, 27 Nov 2017 16:48:12 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> Message-ID: <5198cefc-4726-2fa6-7d13-c9890733298e@freenet.de> Am 27.11.2017 um 16:21 schrieb Werner Pamler via Lazarus: > (a) What is "fast"? If I populate a standard TStringGrid with 100.000 > rows x 100 columns (= 10 millions of cells) it takes about 9 seconds > on my PC - if BeginUpdate/EndUpdate is used. Not too bad in my eyes. > If it's too long you should use a TDrawGrid and paint the cells in the > OnDrawCell event. Since this draws only the visible cells it will > occur within the blink of an eye. Editing a TDrawGrid is a bit more > complicated, though, but doable. I forgot: Of course, this does not take into account the time it takes to populate the primary storage of the data shown in the DrawGrid. Filling a 2D-array with millions of strings, for example, will take its time too, 6 seconds on my PC for a 100.000 x 100 array. In these tests, the string is assembled as 'R' + IntToStr(rowindex) + 'C' + IntToStr(colIndex). Look at attached demo. -------------- next part -------------- A non-text attachment was scrubbed... Name: huge_grid.zip Type: application/x-zip-compressed Size: 2585 bytes Desc: not available URL: From tc at epidata.info Mon Nov 27 17:51:34 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Mon, 27 Nov 2017 17:51:34 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <5198cefc-4726-2fa6-7d13-c9890733298e@freenet.de> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> <5198cefc-4726-2fa6-7d13-c9890733298e@freenet.de> Message-ID: <074832d6-51ad-3234-9953-328b0769baf7@epidata.info> On 2017-11-27 16:48, Werner Pamler via Lazarus wrote: > Am 27.11.2017 um 16:21 schrieb Werner Pamler via Lazarus: >> (a) What is "fast"? If I populate a standard TStringGrid with 100.000 >> rows x 100 columns (= 10 millions of cells) it takes about 9 seconds >> on my PC - if BeginUpdate/EndUpdate is used. Not too bad in my eyes. >> If it's too long you should use a TDrawGrid and paint the cells in >> the OnDrawCell event. Since this draws only the visible cells it will >> occur within the blink of an eye. Editing a TDrawGrid is a bit more >> complicated, though, but doable. > > I forgot: Of course, this does not take into account the time it takes > to populate the primary storage of the data shown in the DrawGrid. > Filling a 2D-array with millions of strings, for example, will take > its time too, 6 seconds on my PC for a 100.000 x 100 array. In these > tests, the string is assembled as 'R' + IntToStr(rowindex) + 'C' + > IntToStr(colIndex). Yes, sorry for the lack of other factors too - those were just the two most needed. I already have the data at hand in my own object structure so that is no problem. By fast i mean less than one second, even on a modern PC. The users of our program often have old or very old hardware in which case my/your 9 seconds turns to 30 or more seconds. In reallity all i need is a read-only grid that can display the data in string format and range selection so that i can copy/paste the data to the clipboard. From your reply it seems i am going with TDrawGrid. Thank you for the help! Regards, Torsten. > > Look at attached demo. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From werner.pamler at freenet.de Mon Nov 27 18:11:41 2017 From: werner.pamler at freenet.de (Werner Pamler) Date: Mon, 27 Nov 2017 18:11:41 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <074832d6-51ad-3234-9953-328b0769baf7@epidata.info> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> <5198cefc-4726-2fa6-7d13-c9890733298e@freenet.de> <074832d6-51ad-3234-9953-328b0769baf7@epidata.info> Message-ID: <2b5d2181-3aba-6178-917a-da3b907aa6b3@freenet.de> Am 27.11.2017 um 17:51 schrieb Torsten Bonde Christiansen via Lazarus: > [...]  so that i can copy/paste the data to the clipboard. Hmm... You must be aware that the DrawGrid does not own any data. Therefore it cannot copy anything to the clipboard. You'll have to write clipboard access by yourself - which is not too difficult I guess. From badsectoracula at gmail.com Mon Nov 27 18:45:42 2017 From: badsectoracula at gmail.com (Kostas Michalopoulos) Date: Mon, 27 Nov 2017 19:45:42 +0200 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <20171127123618.0301adf1@limapholos.matflo.wg> References: <20171127123618.0301adf1@limapholos.matflo.wg> Message-ID: @Sven: Ah, i thought the custom drawn was built on top of LCL. Hm, regardless, it doesn't solve my concern, since what i want is to reuse my widget toolkit. Otherwise i'd probably work on fpGUI's Lazarus bindings since fpGUI seems to be more mature. @Martin: No, it is tied to LCL :-P a lot of code uses LCL classes and i don't really separate the "business logic" since i never planned (nor plan) to use that code outside of LCL/Lazarus. This is mostly library code for graphics-related utilities, common code for UI stuff like adjustments, etc. Some code could work outside of LCL, but it is mixed with code that relies on LCL and separating the two isn't worth the effort. @Michael: The "most of my code is LCL specific" part is about the code i work with on Lazarus. Overall my code is pretty much even between Lazarus and C (with a very tiny bit of LCL-free Free Pascal code). Generally for GUI heavy desktop stuff i use Lazarus (and LCL) and for everything else i use C. For some newer GUI stuff (currently light in GUI) i also use C with my toolkit. @Mattias: Thanks for the information. So in theory i could write a shell script that creates a symbolic link lcl/interfaces/wsfoo that points to some external (from Lazarus' source code dir) directory and adds (via sed, awk or whatever) wsfoo to lcl/lclplatformdef.pas and then projects that override the target widgetset (via the LCLWidgetType:=foo IDE macro) would work? Kostas On Mon, Nov 27, 2017 at 1:36 PM, Mattias Gaertner via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > On Sun, 26 Nov 2017 19:32:21 +0200 > Kostas Michalopoulos via Lazarus wrote: > > >[...] > > As i said, i do not think this would be useful enough to others to be > part > > of the Lazarus tree. I ask because i remember a few months ago someone > > having an Amiga widgetset pretty much in working condition and that was > > something he worked on for a while, so i wondered if there was some > > mechanism for that. I suppose just having a big patch would also work, > > although it is kind of inconvenient. > > The Amiga widgetset is the 'mui'. > > You can add a new widgetset in folder lcl/interfaces/yourws and use it > in your project. > > For some nicer integration you can add an enum to > lcl/lclplatformdef.pas. > > The IDE checks only the sources listed in the lcl.lpk. Since your files > are not listed there, changing any of your widgetset sources will not > trigger building the LCL package automatically. So you have to click on > the 'Compile' button in the LCL package. > > Mattias > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -------------- next part -------------- An HTML attachment was scrubbed... URL: From donald at ziesig.org Mon Nov 27 19:15:36 2017 From: donald at ziesig.org (Donald Ziesig) Date: Mon, 27 Nov 2017 13:15:36 -0500 Subject: [Lazarus] Compiling/linking/debugging package with generics Message-ID: Hi All! I have been having a problem for a long, long time when developing/debugging code which is included in a *package* and which contains *generics*. It took me years :'(, but I finally figured out what I was doing so that I could cause the issue to appear consistently. :-[ My usual debugging process is: 1. Edit the library code 2. Compile/Run 3. Debug. My current insight is: What would happen was that changes made to the library code would compile, but not be included in the code which specializes the generic item.  When I entered the debugger, I could see the newly changed code, but single-stepping *ignored* my changes.  If I let the program run without debugging, the resulting behavior was the *same as it was before the edit*. I have a work around for this (when I remember to use it): 1. Edit the library code 2. Compile the package 3. Use *Run | **Cleanup and build ...* 4. Debug TL;DR   Library packages which declare generics do compile, but do not get included in the code that specializes them unless I "Cleanup and build" the whole program.  (Workable, but much *slower* than programs without generics). I searched the bug tracker, but did not see anything resembling this problem.  I would submit a bug report but I'm not sure whether this is an IDE problem, a package problem or a compiler/linker problem.  Would someone more familiar with this part of the architecture give me pointers? Thanks, Don Ziesig -------------- next part -------------- An HTML attachment was scrubbed... URL: From nc-gaertnma at netcologne.de Mon Nov 27 19:23:05 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 27 Nov 2017 19:23:05 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: <20171127123618.0301adf1@limapholos.matflo.wg> Message-ID: <20171127192305.48096922@limapholos.matflo.wg> On Mon, 27 Nov 2017 19:45:42 +0200 Kostas Michalopoulos via Lazarus wrote: >[...] > Thanks for the information. So in theory i could write a shell script that > creates a symbolic link lcl/interfaces/wsfoo that points to some external > (from Lazarus' source code dir) directory and adds (via sed, awk or > whatever) wsfoo to lcl/lclplatformdef.pas and then projects that override > the target widgetset (via the LCLWidgetType:=foo IDE macro) would work? Yes. Mattias From nc-gaertnma at netcologne.de Mon Nov 27 19:28:34 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 27 Nov 2017 19:28:34 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: Message-ID: <20171127192834.6effca2d@limapholos.matflo.wg> On Mon, 27 Nov 2017 13:15:36 -0500 Donald Ziesig via Lazarus wrote: >[...] > TL;DR   Library packages which declare generics do compile, but do not > get included in the code that specializes them unless I "Cleanup and > build" the whole program.  (Workable, but much *slower* than programs > without generics). > > I searched the bug tracker, but did not see anything resembling this > problem.  I would submit a bug report but I'm not sure whether this is > an IDE problem, a package problem or a compiler/linker problem.  Would > someone more familiar with this part of the architecture give me pointers? When you change a pas file of your package and you compile your project, does the IDE automatically compile your package? Mattias From donald at ziesig.org Mon Nov 27 19:33:13 2017 From: donald at ziesig.org (Donald Ziesig) Date: Mon, 27 Nov 2017 13:33:13 -0500 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171127192834.6effca2d@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> Message-ID: <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> On 11/27/2017 01:28 PM, Mattias Gaertner via Lazarus wrote: > On Mon, 27 Nov 2017 13:15:36 -0500 > Donald Ziesig via Lazarus wrote: > >> [...] >> TL;DR   Library packages which declare generics do compile, but do not >> get included in the code that specializes them unless I "Cleanup and >> build" the whole program.  (Workable, but much *slower* than programs >> without generics). >> >> I searched the bug tracker, but did not see anything resembling this >> problem.  I would submit a bug report but I'm not sure whether this is >> an IDE problem, a package problem or a compiler/linker problem.  Would >> someone more familiar with this part of the architecture give me pointers? > When you change a pas file of your package and you compile your project, > does the IDE automatically compile your package? Yes (at least it catches typos).  Also, the same problem occurs when I compile the package manually, then run the program without using "cleanup and build".  (I am gradually discovering the extent of the problem ;-)). > > Mattias From nc-gaertnma at netcologne.de Mon Nov 27 19:41:09 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 27 Nov 2017 19:41:09 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> Message-ID: <20171127194109.78761a68@limapholos.matflo.wg> On Mon, 27 Nov 2017 13:33:13 -0500 Donald Ziesig via Lazarus wrote: >[...] > > When you change a pas file of your package and you compile your project, > > does the IDE automatically compile your package? > Yes (at least it catches typos).  Also, the same problem occurs when I > compile the package manually, then run the program without using > "cleanup and build".  (I am gradually discovering the extent of the > problem ;-)). Are your 'Other unit files (-Fu)' paths in project inspector and your package empty? Mattias From alexsander.rosa at gmail.com Mon Nov 27 19:54:24 2017 From: alexsander.rosa at gmail.com (Alexsander Rosa) Date: Mon, 27 Nov 2017 16:54:24 -0200 Subject: [Lazarus] Who is using Object Pascal in production? In-Reply-To: References: <2016051248.6318876.1509272601867.ref@mail.yahoo.com> <2016051248.6318876.1509272601867@mail.yahoo.com> <6cdde9fd-060c-6701-05b2-bad66416852a@freenet.de> Message-ID: Our ERP (version 3) was written in Lazarus + PostgreSQL. 2017-10-30 10:30 GMT-02:00 Carlos E. R. via Lazarus < lazarus at lists.lazarus-ide.org>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > > On Monday, 2017-10-30 at 10:21 +0200, Juha Manninen via Lazarus wrote: > >> On Mon, Oct 30, 2017 at 8:56 AM, Sven Barth via Lazarus <> wrote: >> > > Yes, it's fpc-pascal and you can find it here: >>> https://freepascal.org/maillist.var >>> >>> Alternatively you can use the bug tracker that both projects share at >>> https://bugs.freepascal.org/ >>> >> >> FYI, those bugs should be reported against FPC trunk which already >> differs a lot from the release version, due to the slow release cycle. >> > > Oh, but I'm not going to install the trunk version, sorry. > > - -- Cheers, > Carlos E. R. > (from openSUSE 42.2 x86_64 "Malachite" at Telcontar) > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iEYEARECAAYFAln3G38ACgkQtTMYHG2NR9XQJgCaA6O/iF59T5rLnxpE1nUCx5Nh > WDQAn3FWytCTH7bGk4Fha4VxaNzgBI+2 > =GV/H > -----END PGP SIGNATURE----- > > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -- Atenciosamente, Alexsander da Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: From mailinglists at geldenhuys.co.uk Mon Nov 27 19:59:11 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 27 Nov 2017 18:59:11 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: On 2017-11-23 02:23, Kostas Michalopoulos via Lazarus wrote: > My main motivation is wanting to get away from the modern madness of > GTK3+/Qt5+/Wayland and all that stuff and their dependencies Then my I suggest you take a look at the LCL-fpGUI widgetset. It has all the basic components working (except for TLabel), and many of the other Windows like API's and dialogs etc. It desperately needs a maintainer - I don't have the time, and rather spend my time improving fpGUI directly, than maintain a LCL widgetset. Either way, it would save you a ton of time and effort - plus it will check off some of your requirements like no large toolkit dependency hell like GTK3 and QT introduces. Plus, everything is implemented in Object Pascal.... LCL and fpGUI Toolkit. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Mon Nov 27 20:04:41 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 27 Nov 2017 19:04:41 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <3f6dc548-cee2-7d0e-ac50-4ade03dcb464@geldenhuys.co.uk> On 2017-11-26 17:32, Kostas Michalopoulos via Lazarus wrote: > Also AFAIK fpGUI doesn't use the native window system beyond the toplevel > windows, which i think would make OpenGL support and interfacing with > external stuff (e.g. calling an external library where you pass a HWND/X11 > Window directly) harder. Just so inform everybody. fpGUI has the ability to switch between "alien windows" (only a top level window handle) or "each widget has a handle" during compile time. I've been a huge supported of the latter for many years, but in the last year or two I've seen first hand the benefits of the "alien windows" style and want performances it brings. Implementing OpenGL inside a fpGUI application (where alien windows is enabled by default) shouldn't be a problem at all, as any fpGUI widget can specify if it needs its own window handle or not. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Mon Nov 27 20:07:12 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 27 Nov 2017 19:07:12 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: On 2017-11-27 06:52, Sven Barth via Lazarus wrote: > The custom drawn widget set is independent of > the fpgui widgetset and completely resides inside the LCL. It's state is also way worse than the LCL-fpGUI widgetset. It is still in a very early Alpha state as far as I'm concerned. Either way, it would be nice to see LCL-CustomDrawn and LCL-fpGUI widgetsets get some more attention. In they were usable, I would instantly switch to either of them over the Qt or GTK widgetsets. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Mon Nov 27 20:08:41 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Mon, 27 Nov 2017 19:08:41 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <3f6dc548-cee2-7d0e-ac50-4ade03dcb464@geldenhuys.co.uk> References: <3f6dc548-cee2-7d0e-ac50-4ade03dcb464@geldenhuys.co.uk> Message-ID: On 2017-11-27 19:04, Graeme Geldenhuys via Lazarus wrote: > Just so inform everybody. fpGUI has the ability to switch between "alien > windows" (only a top level window handle) or "each widget has a handle" > during compile time. I forgot to mention, the latest stable release of fpGUI Toolkit (v1.4.x) is still based on the each-widget-has-its-own-window-handle design. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From tc at epidata.info Mon Nov 27 20:17:07 2017 From: tc at epidata.info (Torsten Bonde Christiansen) Date: Mon, 27 Nov 2017 20:17:07 +0100 Subject: [Lazarus] String Grid Component In-Reply-To: <2b5d2181-3aba-6178-917a-da3b907aa6b3@freenet.de> References: <1cd3ffe8-f848-daed-72ed-312804727d2a@epidata.info> <64027fcd-4cce-16e6-cf24-ee29c995ea51@freenet.de> <5198cefc-4726-2fa6-7d13-c9890733298e@freenet.de> <074832d6-51ad-3234-9953-328b0769baf7@epidata.info> <2b5d2181-3aba-6178-917a-da3b907aa6b3@freenet.de> Message-ID: <392bac6d-dd83-1f76-e1af-3eeefa8339e6@epidata.info> On 2017-11-27 18:11, Werner Pamler via Lazarus wrote: > Am 27.11.2017 um 17:51 schrieb Torsten Bonde Christiansen via Lazarus: >> [...]  so that i can copy/paste the data to the clipboard. > > Hmm... You must be aware that the DrawGrid does not own any data. > Therefore it cannot copy anything to the clipboard. You'll have to > write clipboard access by yourself - which is not too difficult I guess. > > Yes i am aware of that, all i need to know is which cells are selected in order to copy the data. But thanks for the information :) Regard, Torsten. From md at delfire.net Mon Nov 27 20:23:21 2017 From: md at delfire.net (Marcos Douglas B. Santos) Date: Mon, 27 Nov 2017 17:23:21 -0200 Subject: [Lazarus] Who is using Object Pascal in production? In-Reply-To: References: <2016051248.6318876.1509272601867.ref@mail.yahoo.com> <2016051248.6318876.1509272601867@mail.yahoo.com> <6cdde9fd-060c-6701-05b2-bad66416852a@freenet.de> Message-ID: On Mon, Nov 27, 2017 at 4:54 PM, Alexsander Rosa via Lazarus wrote: > > Our ERP (version 3) was written in Lazarus + PostgreSQL. > Is it desktop or web? Best regards, Marcos Douglas From donald at ziesig.org Mon Nov 27 21:52:09 2017 From: donald at ziesig.org (Donald Ziesig) Date: Mon, 27 Nov 2017 15:52:09 -0500 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171127194109.78761a68@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> Message-ID: On 11/27/2017 01:41 PM, Mattias Gaertner via Lazarus wrote: > On Mon, 27 Nov 2017 13:33:13 -0500 > Donald Ziesig via Lazarus wrote: > >> [...] >>> When you change a pas file of your package and you compile your project, >>> does the IDE automatically compile your package? >> Yes (at least it catches typos).  Also, the same problem occurs when I >> compile the package manually, then run the program without using >> "cleanup and build".  (I am gradually discovering the extent of the >> problem ;-)). > Are your 'Other unit files (-Fu)' paths in project inspector and > your package empty? Yes, both are empty. > > Mattias From nc-gaertnma at netcologne.de Mon Nov 27 22:27:19 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Mon, 27 Nov 2017 22:27:19 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> Message-ID: <20171127222719.35a12ed6@limapholos.matflo.wg> On Mon, 27 Nov 2017 15:52:09 -0500 Donald Ziesig via Lazarus wrote: >[...] > > Are your 'Other unit files (-Fu)' paths in project inspector and > > your package empty? > Yes, both are empty. Good. If your project and packages have their own directories, it seems you found a compiler bug. Can you reproduce it in a small example? Mattias From donald at ziesig.org Mon Nov 27 22:35:12 2017 From: donald at ziesig.org (Donald Ziesig) Date: Mon, 27 Nov 2017 16:35:12 -0500 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171127222719.35a12ed6@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> <20171127222719.35a12ed6@limapholos.matflo.wg> Message-ID: On 11/27/2017 04:27 PM, Mattias Gaertner via Lazarus wrote: > On Mon, 27 Nov 2017 15:52:09 -0500 > Donald Ziesig via Lazarus wrote: > >> [...] >>> Are your 'Other unit files (-Fu)' paths in project inspector and >>> your package empty? >> Yes, both are empty. > Good. > If your project and packages have their own directories, it seems > you found a compiler bug. > Can you reproduce it in a small example? Will do. > > Mattias From kardan at riseup.net Tue Nov 28 00:07:33 2017 From: kardan at riseup.net (kardan) Date: Tue, 28 Nov 2017 00:07:33 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch Message-ID: <20171128000733.03dc7c71@gybs> Hallo, As a I am new to this list, FreePascal and Lazarus I need a little help by you to crosscompile our project to win32. Compiling to win64 however succeeds: $ lazbuild --pcp=../../lazconf --os=win64 --cpu=x86_64 Tomboy_NG.lpi ... Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 Copyright (c) 1993-2017 by Florian Klaempfl and others (1002) Target OS: Win64 for x64 (3104) Compiling Tomboy_NG.lpr (9022) Compiling resource /home/tomboy/src/tomboy/src/tomboy-ng/lib/x86_64-win64/Tomboy_NG.obj (9015) Linking tomboy-ng.exe (1008) 25 lines compiled, 13.7 sec, 2336192 bytes code, 408468 bytes data (1022) 2 hint(s) issued As you see, I installed FPC from trunk with the steps documented here: https://github.com/traumschule/tomboy/issues/2 I had to use the repository as the zip version ftp.freepascal.org/pub/fpc/snapshot/trunk/source/fpc.zip (3.1.1) did not create ppcross386 for OS_TARGET=win32". With the version from trunk it works however. Now compiling our project for i386 compared to above output another fpc is used and fails: $ lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others (1002) Target OS: Win32 for i386 (3104) Compiling fcllaz.pas Fatal: (10022) Can't find unit system used by fcllaz Fatal: (1018) Compilation aborted Error: /usr/bin/ppc386 returned an error exitcode Error: (lazarus) Compile package FCL 1.0.1: stopped with exit code 256 Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code 256" Error: (lazbuild) Project dependencies of /home/tomboy/src/tomboy/src/tomboy-ng/Tomboy_NG.lpi $ which fpc /usr/local/bin/fpc $ fpc -V|head -n1 Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 $ ls /usr/lib/fpc/*/units /usr/lib/fpc/3.0.4/units: i386-linux /usr/lib/fpc/3.1.1/units: i386-win32 x86_64-win64 $ ls /usr/bin/ppcross* /usr/bin/ppcross386 /usr/bin/ppcrossx64 $ /usr/bin/ppcross386 -V|head -n1 Free Pascal Compiler version 3.1.1 [2017/11/27] for i386 $ /usr/bin/ppcrossx64 -V|head -n1 Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 I assume the solution is to specify another compiler in ../../lazconf/environmentoptions.xml so I attached it. I am using Lazarus 1.8.0RC5 installed via deb from sourceforge. Without other advise I will try again with Lazarus from trunk. If you want to try my steps, this repository may be of help: https://github.com/tomboy-notes/tomboy-ng To build it, I use ansible for automation: https://github.com/traumschule/tomboy To explain the funny path above, these are the steps I did: cd ~/src git clone https://github.com/traumschule/tomboy cd tomboy ./bin/configure.sh # this installs lazarus, patches KControls and checks out tomboy-ng cd src/tomboy-ng lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi Thanks! kardan -------------- next part -------------- A non-text attachment was scrubbed... Name: environmentoptions.xml Type: application/xml Size: 1060 bytes Desc: not available URL: From nc-gaertnma at netcologne.de Tue Nov 28 00:20:29 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 00:20:29 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128000733.03dc7c71@gybs> References: <20171128000733.03dc7c71@gybs> Message-ID: <20171128002029.4a00ea78@limapholos.matflo.wg> On Tue, 28 Nov 2017 00:07:33 +0100 kardan via Lazarus wrote: >[...] > $ lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi > Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 > Copyright (c) 1993-2017 by Florian Klaempfl and others > (1002) Target OS: Win32 for i386 > (3104) Compiling fcllaz.pas > Fatal: (10022) Can't find unit system used by fcllaz Check your -Fu paths in /etc/fpc.cfg. They should contain the paths to fpc's i386-win32 ppu files. Mattias From kardan at riseup.net Tue Nov 28 00:41:38 2017 From: kardan at riseup.net (kardan) Date: Tue, 28 Nov 2017 00:41:38 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128002029.4a00ea78@limapholos.matflo.wg> References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> Message-ID: <20171128004138.1d18b918@gybs> Really appreciate the fast reply! On Tue, 28 Nov 2017 00:20:29 +0100 Mattias Gaertner via Lazarus wrote: > Check your -Fu paths in /etc/fpc.cfg. They should contain the > paths to fpc's i386-win32 ppu files. > > Mattias This is what i found related to -Fu in /etc/fpc.cfg: # searchpath for units and other system dependent things -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl #ifdef cpui8086 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl #endif #IFDEF FPCAPACHE_1_3 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/ #ELSE #IFDEF FPCAPACHE_2_0 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20 #ELSE -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22 #ENDIF #ENDIF # searchpath for fppkg user-specific packages -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/* ~/.fpkg does not exist, but there is another version in /etc: $ ls /etc/fpc* /etc/fpc-3.0.0.cfg /etc/fpc.bak /etc/fpc.cfg /etc/fpc.cfg.bak $ diff /etc/fpc.cfg /etc/fpc-3.0.0.cfg 2c2 < # Config file generated by fpcmkcfg on 21-11-17 - 14:07:55 --- > # Config file generated by fpcmkcfg on 10-11-17 - 07:19:33 145c145 < -FM/usr/lib/fpc/../../share/fpc/$fpcversion/unicode/ --- > -FM/unicode/ 283a284,289 > # multiarch library search path > -Fl/usr/lib/$fpctarget-* > # Third party units should be installe in a, multi-arch compatible location. > # Units should be installed in /usr/lib/$fpctarget-gnu/fp-units-2.6.2/$pkg/. > # Ech fp-units package should install a configuration file called $pkg.cfg in > #CFGDIR /etc/fpc-$fpcversion.cfg.d/$fpctarget From that I can't see why 3.0.4rc1 is used for win32. Kardan From ptrg at freemail.hu Tue Nov 28 08:18:29 2017 From: ptrg at freemail.hu (=?UTF-8?B?UMOpdGVyIEfDoWJvcg==?=) Date: Tue, 28 Nov 2017 08:18:29 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128004138.1d18b918@gybs> References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> <20171128004138.1d18b918@gybs> Message-ID: You may have a different fpc.cfg (named .fpc.cfg << spot the dot on Linux) in your home folder. 2017-11-28 00:41 keltezéssel, kardan via Lazarus írta: > Really appreciate the fast reply! > > On Tue, 28 Nov 2017 00:20:29 +0100 > Mattias Gaertner via Lazarus wrote: > >> Check your -Fu paths in /etc/fpc.cfg. They should contain the >> paths to fpc's i386-win32 ppu files. >> >> Mattias > > This is what i found related to -Fu in /etc/fpc.cfg: > > # searchpath for units and other system dependent things > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl > > #ifdef cpui8086 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl > #endif > > #IFDEF FPCAPACHE_1_3 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/ > #ELSE > #IFDEF FPCAPACHE_2_0 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20 > #ELSE > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22 > #ENDIF > #ENDIF > > # searchpath for fppkg user-specific packages > -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/* > > ~/.fpkg does not exist, but there is another version in /etc: > > $ ls /etc/fpc* > /etc/fpc-3.0.0.cfg /etc/fpc.bak /etc/fpc.cfg /etc/fpc.cfg.bak > > $ diff /etc/fpc.cfg /etc/fpc-3.0.0.cfg > 2c2 > < # Config file generated by fpcmkcfg on 21-11-17 - 14:07:55 > --- >> # Config file generated by fpcmkcfg on 10-11-17 - 07:19:33 > 145c145 > < -FM/usr/lib/fpc/../../share/fpc/$fpcversion/unicode/ > --- >> -FM/unicode/ > 283a284,289 >> # multiarch library search path >> -Fl/usr/lib/$fpctarget-* >> # Third party units should be installe in a, multi-arch compatible location. >> # Units should be installed in /usr/lib/$fpctarget-gnu/fp-units-2.6.2/$pkg/. >> # Ech fp-units package should install a configuration file called $pkg.cfg in >> #CFGDIR /etc/fpc-$fpcversion.cfg.d/$fpctarget > > From that I can't see why 3.0.4rc1 is used for win32. > > Kardan > -- Péter Gábor ptrg at freemail.hu From mschnell at lumino.de Tue Nov 28 10:02:04 2017 From: mschnell at lumino.de (Michael Schnell) Date: Tue, 28 Nov 2017 10:02:04 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> On 27.11.2017 20:07, Graeme Geldenhuys via Lazarus wrote: > >  Either way, it would be nice to see LCL-CustomDrawn and LCL-fpGUI > widgetsets get some more attention. Is there any chance to unify them to a single Widget Type implementation that uses a low level graphics API (without an external Widget Set) ? AFAI understand, MSE-Gui does this very successfully. They even provide a functionality called "IFI" that allows for remoting the interface between the RTL (and the MSE-variant of the LCL) and the "custom drawn" library via a stream interface. IMHO this is a highly attractive way to provide an optional remote GUI to otherwise headless applications, while still providing portability and  support for Delphi-typical RAD-style development. -Michael From mschnell at lumino.de Tue Nov 28 10:11:49 2017 From: mschnell at lumino.de (Michael Schnell) Date: Tue, 28 Nov 2017 10:11:49 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: On 27.11.2017 19:59, Graeme Geldenhuys via Lazarus wrote: >  (except for TLabel) ???? To me TLable seems like very important to allow easy "porting" of applications from an other widget Type to fpGUI/LCL. Is implementing TLabel really that hard ? -Michael From pascaldragon at googlemail.com Tue Nov 28 11:28:20 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Tue, 28 Nov 2017 11:28:20 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> Message-ID: Am 28.11.2017 10:02 schrieb "Michael Schnell via Lazarus" < lazarus at lists.lazarus-ide.org>: On 27.11.2017 20:07, Graeme Geldenhuys via Lazarus wrote: > > Either way, it would be nice to see LCL-CustomDrawn and LCL-fpGUI > widgetsets get some more attention. > Is there any chance to unify them to a single Widget Type implementation that uses a low level graphics API (without an external Widget Set) ? Why should they? They are two completely different projects. From the LCL's point of view fpGui is a black box like GTK, Qt or the Windows API. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From nc-gaertnma at netcologne.de Tue Nov 28 11:36:25 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 11:36:25 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128004138.1d18b918@gybs> References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> <20171128004138.1d18b918@gybs> Message-ID: <20171128113625.7db68b7c@limapholos.matflo.wg> On Tue, 28 Nov 2017 00:41:38 +0100 kardan via Lazarus wrote: > Really appreciate the fast reply! > > On Tue, 28 Nov 2017 00:20:29 +0100 > Mattias Gaertner via Lazarus wrote: > > > Check your -Fu paths in /etc/fpc.cfg. They should contain the > > paths to fpc's i386-win32 ppu files. > > > > Mattias > > This is what i found related to -Fu in /etc/fpc.cfg: > > # searchpath for units and other system dependent things > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl And where are your fpc's i386-win32 ppu files? > From that I can't see why 3.0.4rc1 is used for win32. Maybe ppc386 is in the PATH. fpc -Pi386 -Twin32 You can specify the compiler that lazbuild uses with --compiler= Mattias From md at delfire.net Tue Nov 28 11:41:05 2017 From: md at delfire.net (Marcos Douglas B. Santos) Date: Tue, 28 Nov 2017 08:41:05 -0200 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171127194109.78761a68@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> Message-ID: On Mon, Nov 27, 2017 at 4:41 PM, Mattias Gaertner via Lazarus wrote: > On Mon, 27 Nov 2017 13:33:13 -0500 > Donald Ziesig via Lazarus wrote: > >>[...] >> > When you change a pas file of your package and you compile your project, >> > does the IDE automatically compile your package? >> Yes (at least it catches typos). Also, the same problem occurs when I >> compile the package manually, then run the program without using >> "cleanup and build". (I am gradually discovering the extent of the >> problem ;-)). > > Are your 'Other unit files (-Fu)' paths in project inspector and > your package empty? And is this correct, package empty? Best regards, Marcos Douglas From nc-gaertnma at netcologne.de Tue Nov 28 11:50:23 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 11:50:23 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> Message-ID: <20171128115023.41c277ab@limapholos.matflo.wg> On Tue, 28 Nov 2017 08:41:05 -0200 "Marcos Douglas B. Santos via Lazarus" wrote: >[...] > > Are your 'Other unit files (-Fu)' paths in project inspector and > > your package empty? > > And is this correct, package empty? It is normal. Mattias From nc-gaertnma at netcologne.de Tue Nov 28 11:54:13 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 11:54:13 +0100 Subject: [Lazarus] Deleting items in OI In-Reply-To: <20171125192159.B17E8244@atlas.cz> References: <20171025193003.8760A5AF@atlas.cz> <20171125192159.B17E8244@atlas.cz> Message-ID: <20171128115413.30c241d8@limapholos.matflo.wg> On Sat, 25 Nov 2017 19:21:59 +0100 Vojtěch Čihák via Lazarus wrote: > Hi, >   > I just have some more info. Everything was OK to revision 52209. > OI was completly broken between 52210 and 52229 (components didn't appear at all). > Revision 52230 improved OI but deleting didn't work as described in previous mails, it's up to now. Please create a bug report. Mattias From md at delfire.net Tue Nov 28 12:01:56 2017 From: md at delfire.net (Marcos Douglas B. Santos) Date: Tue, 28 Nov 2017 09:01:56 -0200 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171128115023.41c277ab@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> <20171128115023.41c277ab@limapholos.matflo.wg> Message-ID: On Tue, Nov 28, 2017 at 8:50 AM, Mattias Gaertner via Lazarus wrote: > On Tue, 28 Nov 2017 08:41:05 -0200 > "Marcos Douglas B. Santos via Lazarus" > wrote: > >>[...] >> > Are your 'Other unit files (-Fu)' paths in project inspector and >> > your package empty? >> >> And is this correct, package empty? > > It is normal. Ok... but is there some "advantages" adding files in the package? If there is not, why do we have this option? Thanks, Best regards, Marcos Douglas From nc-gaertnma at netcologne.de Tue Nov 28 12:58:30 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 12:58:30 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> <20171128115023.41c277ab@limapholos.matflo.wg> Message-ID: <20171128125830.78756918@limapholos.matflo.wg> On Tue, 28 Nov 2017 09:01:56 -0200 "Marcos Douglas B. Santos via Lazarus" wrote: > On Tue, Nov 28, 2017 at 8:50 AM, Mattias Gaertner via Lazarus > wrote: > > On Tue, 28 Nov 2017 08:41:05 -0200 > > "Marcos Douglas B. Santos via Lazarus" > > wrote: > > > >>[...] > >> > Are your 'Other unit files (-Fu)' paths in project inspector and > >> > your package empty? > >> > >> And is this correct, package empty? > > > > It is normal. > > Ok... but is there some "advantages" adding files in the package? > If there is not, why do we have this option? The 'Other unit files (-Fu)' paths are usually empty. It is not empty if a package has multiple source directories. You should add all source files to the package. Mattias From juha.manninen62 at gmail.com Tue Nov 28 13:10:04 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Tue, 28 Nov 2017 14:10:04 +0200 Subject: [Lazarus] Deleting items in OI In-Reply-To: <20171125192159.B17E8244@atlas.cz> References: <20171025193003.8760A5AF@atlas.cz> <20171125192159.B17E8244@atlas.cz> Message-ID: On Sat, Nov 25, 2017 at 8:21 PM, Vojtěch Čihák via Lazarus wrote: > I just have some more info. Everything was OK to revision 52209. > OI was completly broken between 52210 and 52229 (components didn't appear at all). > Revision 52230 improved OI but deleting didn't work as described in previous > mails, it's up to now. Yes, those were my commits. Sorry I did not answer earlier, something always came up when I planned to study the issue. The changes were more or less valid. At least they fixed bugs and optimized the updates. However your usage of TPropertyEditorHook looks suspicious and counter-intuitive: aHook.PersistentDeleting(aECTab); aECTC.DeleteTab(aECTC.TabIndex); aHook.SelectOnlyThis(aECTC.Tabs); { force the OI to refresh } Calling aHook.DeletePersistent() would be intuitive. It that is not possible in your case, then we should improve the API. Something like "StartDeletingPersistent()" + "EndDeletingPersistent()" pair maybe. How about calling aHook.Modified? What would be the most intuitive API in your opinion? Juha From juha.manninen62 at gmail.com Tue Nov 28 13:22:04 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Tue, 28 Nov 2017 14:22:04 +0200 Subject: [Lazarus] Deleting items in OI In-Reply-To: References: <20171025193003.8760A5AF@atlas.cz> <20171125192159.B17E8244@atlas.cz> Message-ID: There is also aHook.PersistentDeleted. Juha From r030t1 at gmail.com Tue Nov 28 17:44:39 2017 From: r030t1 at gmail.com (R0b0t1) Date: Tue, 28 Nov 2017 10:44:39 -0600 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: Message-ID: Hello, On Mon, Nov 27, 2017 at 12:15 PM, Donald Ziesig via Lazarus wrote: > Hi All! > > I have been having a problem for a long, long time when developing/debugging > code which is included in a package and which contains generics. > > It took me years :'(, but I finally figured out what I was doing so that I > could cause the issue to appear consistently. :-[ > > My usual debugging process is: > > Edit the library code > Compile/Run > Debug. > > My current insight is: > > What would happen was that changes made to the library code would compile, > but not be included in the code which specializes the generic item. When I > entered the debugger, I could see the newly changed code, but > single-stepping ignored my changes. If I let the program run without > debugging, the resulting behavior was the same as it was before the edit. > > I have a work around for this (when I remember to use it): > > Edit the library code > Compile the package > Use Run | Cleanup and build ... > Debug > > TL;DR Library packages which declare generics do compile, but do not get > included in the code that specializes them unless I "Cleanup and build" the > whole program. (Workable, but much slower than programs without generics). > > I searched the bug tracker, but did not see anything resembling this > problem. I would submit a bug report but I'm not sure whether this is an > IDE problem, a package problem or a compiler/linker problem. Would someone > more familiar with this part of the architecture give me pointers? > I think this may be a bug, but I do not think it has to do with generics or packages. I encountered a very similar issue with a project I help maintain, where I fixed some issue in a unit but that unit was not automatically recompiled after being changed. I had to clean and rebuild the project. As you say, this is not extremely expedient. My apologies for not keeping more details, but I was quite happy to have gotten it working at the time. Cheers, R0b0t1 From r030t1 at gmail.com Tue Nov 28 17:46:01 2017 From: r030t1 at gmail.com (R0b0t1) Date: Tue, 28 Nov 2017 10:46:01 -0600 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: Message-ID: Apologies for the additional post: On Tue, Nov 28, 2017 at 10:44 AM, R0b0t1 wrote: > Hello, > > On Mon, Nov 27, 2017 at 12:15 PM, Donald Ziesig via Lazarus > wrote: >> Hi All! >> >> I have been having a problem for a long, long time when developing/debugging >> code which is included in a package and which contains generics. >> >> It took me years :'(, but I finally figured out what I was doing so that I >> could cause the issue to appear consistently. :-[ >> >> My usual debugging process is: >> >> Edit the library code >> Compile/Run >> Debug. >> >> My current insight is: >> >> What would happen was that changes made to the library code would compile, >> but not be included in the code which specializes the generic item. When I >> entered the debugger, I could see the newly changed code, but >> single-stepping ignored my changes. If I let the program run without >> debugging, the resulting behavior was the same as it was before the edit. >> >> I have a work around for this (when I remember to use it): >> >> Edit the library code >> Compile the package >> Use Run | Cleanup and build ... >> Debug >> >> TL;DR Library packages which declare generics do compile, but do not get >> included in the code that specializes them unless I "Cleanup and build" the >> whole program. (Workable, but much slower than programs without generics). >> >> I searched the bug tracker, but did not see anything resembling this >> problem. I would submit a bug report but I'm not sure whether this is an >> IDE problem, a package problem or a compiler/linker problem. Would someone >> more familiar with this part of the architecture give me pointers? >> > > I think this may be a bug, but I do not think it has to do with > generics or packages. I encountered a very similar issue with a > project I help maintain, where I fixed some issue in a unit but that > unit was not automatically recompiled after being changed. I had to > clean and rebuild the project. As you say, this is not extremely > expedient. > To be clear, for some reason most of the time the unit (and every other unit) was rebuilding properly, but one time it didn't. Perhaps it is a linking issue? Cheers, R0b0t1 From nc-gaertnma at netcologne.de Tue Nov 28 17:53:54 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Tue, 28 Nov 2017 17:53:54 +0100 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: Message-ID: <20171128175354.78a464c9@limapholos.matflo.wg> On Tue, 28 Nov 2017 10:46:01 -0600 R0b0t1 via Lazarus wrote: >[...] > To be clear, for some reason most of the time the unit (and every > other unit) was rebuilding properly, but one time it didn't. Perhaps > it is a linking issue? If you cannot reproduce it then your issue is not related to this thread. Mattias From donald at ziesig.org Tue Nov 28 18:29:27 2017 From: donald at ziesig.org (Donald Ziesig) Date: Tue, 28 Nov 2017 12:29:27 -0500 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171128115023.41c277ab@limapholos.matflo.wg> References: <20171127192834.6effca2d@limapholos.matflo.wg> <93a733e2-668d-3cf2-4713-df153636423a@ziesig.org> <20171127194109.78761a68@limapholos.matflo.wg> <20171128115023.41c277ab@limapholos.matflo.wg> Message-ID: On 11/28/2017 05:50 AM, Mattias Gaertner via Lazarus wrote: > On Tue, 28 Nov 2017 08:41:05 -0200 > "Marcos Douglas B. Santos via Lazarus" > wrote: > >> [...] >>> Are your 'Other unit files (-Fu)' paths in project inspector and >>> your package empty? >> And is this correct, package empty? > It is normal. > > Mattias I posted a bug-tracker entry (twice, the first one was rejected due tothe size of the demo).  Issue 32739 is the correct one Don From r030t1 at gmail.com Tue Nov 28 19:30:11 2017 From: r030t1 at gmail.com (R0b0t1) Date: Tue, 28 Nov 2017 12:30:11 -0600 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: <20171128175354.78a464c9@limapholos.matflo.wg> References: <20171128175354.78a464c9@limapholos.matflo.wg> Message-ID: Hello, On Tuesday, November 28, 2017, Mattias Gaertner via Lazarus < lazarus at lists.lazarus-ide.org> wrote: > On Tue, 28 Nov 2017 10:46:01 -0600 > R0b0t1 via Lazarus wrote: > >>[...] >> To be clear, for some reason most of the time the unit (and every >> other unit) was rebuilding properly, but one time it didn't. Perhaps >> it is a linking issue? > > If you cannot reproduce it then your issue is not related to this > thread. > Seeing as the OP took years to reproduce his issue, I may not have that informatuon for a long time. I realize what I experienced may not be precisely relevant but it seemed close enough that I felt I shouldn't remain silent. Cheers, R0b0t1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From r030t1 at gmail.com Tue Nov 28 19:36:07 2017 From: r030t1 at gmail.com (R0b0t1) Date: Tue, 28 Nov 2017 12:36:07 -0600 Subject: [Lazarus] Compiling/linking/debugging package with generics In-Reply-To: References: <20171128175354.78a464c9@limapholos.matflo.wg> Message-ID: Sorry list, I'm trying to stop my double posting. On Tuesday, November 28, 2017, R0b0t1 wrote: > Hello, > > On Tuesday, November 28, 2017, Mattias Gaertner via Lazarus < lazarus at lists.lazarus-ide.org> wrote: >> On Tue, 28 Nov 2017 10:46:01 -0600 >> R0b0t1 via Lazarus wrote: >> >>>[...] >>> To be clear, for some reason most of the time the unit (and every >>> other unit) was rebuilding properly, but one time it didn't. Perhaps >>> it is a linking issue? >> >> If you cannot reproduce it then your issue is not related to this >> thread. >> > > Seeing as the OP took years to reproduce his issue, I may not have that informatuon for a long time. I realize what I experienced may not be precisely relevant but it seemed close enough that I felt I shouldn't remain silent. > It looks like I came across https://bugs.freepascal.org/view.php?id=25797, this issue but with inline functions. R0b0t1. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kardan at riseup.net Tue Nov 28 20:21:47 2017 From: kardan at riseup.net (kardan) Date: Tue, 28 Nov 2017 20:21:47 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> <20171128004138.1d18b918@gybs> Message-ID: <20171128202147.349be9e0@gybs> Hi, summary: my fpc and ppcross* have different versions, because I can't build fpc with the installed version. Why does this happen: ~/src/fpc(master)$ make all Makefile:2918: *** The only supported starting compiler version is 3.0.2. You are trying to build with 3.0.4.. Stop. On Tue, 28 Nov 2017 08:18:29 +0100 Péter Gábor via Lazarus wrote: > You may have a different fpc.cfg (named .fpc.cfg << spot the dot on > Linux) in your home folder. $ find /|grep 'fpc*.cfg' /etc/fpc.cfg /etc/fpc.cfg.bak /usr/lib/fpc/3.0.4/ide/text/fp.cfg /usr/share/fpcsrc/3.0.4/utils/fpcmkcfg/fpccfg.inc /home/tomboy/src/fpc/utils/fpcmkcfg/fpccfg.inc $ /home/tomboy/src/fpc# ls -ls /usr/share/fpcsrc/ total 4 4 drwxr-xr-x 9 root root 4096 Nov 21 16:25 3.0.4 0 lrwxrwxrwx 1 root root 1 Nov 26 18:43 3.1.1 -> . 0 lrwxrwxrwx 1 root root 1 Nov 27 18:33 3.1.2 -> . (These version numbers are nonsense, just needed a way to separate the version from zip (3.1.1) and trunk (3.1.2) before I dropped the first.) On Tue, 28 Nov 2017 11:36:25 +0100 Mattias Gaertner via Lazarus wrote: > And where are your fpc's i386-win32 ppu files? /usr/lib/fpc/3.1.1/units/i386-win32 $ find /usr/lib/fpc/3.1.1/units/i386-win32 -name '*.ppu'|grep system /usr/lib/fpc/3.1.1/units/i386-win32/winunits-base/mmsystem.ppu /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu > > # searchpath for units and other system dependent things > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl So it should be found, no? The term ppu was new to me. I just return from reading [1] and installed the binutils: $ sudo apt-get install binutils-mingw-w64 binutils-powerpc-linux-gnu binutils-powerpc64-linux-gnu [1] http://wiki.lazarus.freepascal.org/Cross_compiling#Units_for_target > > From that I can't see why 3.0.4rc1 is used for win32. > > Maybe ppc386 is in the PATH. > fpc -Pi386 -Twin32 true. $ for fpc in /usr/bin/ppc*; do echo -n "$fpc: "; $fpc -V|head -n1; done /usr/bin/ppc386: Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 /usr/bin/ppcross386: Free Pascal Compiler version 3.1.1 [2017/11/27] for i386 /usr/bin/ppcrossx64: Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 $ cd ~/src/tomboy/src/tomboy-ng $ fpc -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling tomboy-ng/mainunit.pas Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcode $ fpc -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 \ -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas PPU Loading /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu PPU Invalid Version 196 Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcod $ /usr/bin/ppc386 -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas PPU Loading /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu PPU Invalid Version 196 Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted $ /usr/bin/ppcross386 -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.1.1 [2017/11/27] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas mainunit.pas(57,24) Fatal: Can't find unit FileUtil used by MainUnit Fatal: Compilation aborted $ lazbuild Tomboy_NG.lpi Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 Copyright (c) 1993-2017 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64 (3104) Compiling fcllaz.pas Fatal: (10022) Can't find unit system used by fcllaz Fatal: (1018) Compilation aborted Error: /usr/bin/ppcrossx64 returned an error exitcode Error: (lazarus) Compile package FCL 1.0.1: stopped with exit code 256 Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code 256" Error: (lazbuild) Project dependencies of /home/tomboy/src/tomboy/src/tomboy-ng/Tomboy_NG.lpi > You can specify the compiler that lazbuild uses with --compiler= --compiler= override the default compiler. e.g. ppc386, ppcx64, ppcppc etc. $ lazbuild --compiler=ppc386 Tomboy_NG.lpi (3104) Compiling /home/tomboy/src/tomboy/lib/tkweb-kcontrols-9fab2d710a8c/source/kdbgrids.pas (1010) Writing Resource String Table file: kdbgrids.rsj (1008) 77290 lines compiled, 9.4 sec (1021) 10 warning(s) issued (1023) 9 note(s) issued TCompiler.WriteError Error: invalid compiler: file "ppc386" does not exist Error: (lazbuild) failed compiling of project /home/tomboy/src/tomboy/src/tomboy-ng/Tomboy_NG.lpi Now it's time to learn from you again. > > Kardan From mschnell at lumino.de Wed Nov 29 09:41:24 2017 From: mschnell at lumino.de (Michael Schnell) Date: Wed, 29 Nov 2017 09:41:24 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> Message-ID: <6f4a18fa-dc7e-e743-a411-ddbe079a9eb2@lumino.de> On 28.11.2017 11:28, Sven Barth via Lazarus wrote: > Why should they? They are two completely different projects. From the > LCL's point of view fpGui is a black box like GTK, Qt or the Windows API. OK, so in the end fpGUI *is* an external Widget set, only that it comes more independent of the OS distribution than WinXX, GTK, QT or Apple variants. -Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From tony.whyman at mccallumwhyman.com Wed Nov 29 10:39:10 2017 From: tony.whyman at mccallumwhyman.com (Tony Whyman) Date: Wed, 29 Nov 2017 09:39:10 +0000 Subject: [Lazarus] Fixes_1_8 branches fails to compile Message-ID: <426c412f-a181-63cf-9bc1-4097069cb4f6@mccallumwhyman.com> After last night's update from svn, my copy of the 1.8 fixes branch fails to compile with the following error: /tmp/lazarus/components/codetools/codecompletiontool.pas(7094,18) Error: (5038) identifier idents no member "GetPriorAtom" codecompletiontool.pas(9802) Fatal: (10026) There were 1 errors compiling module, stopping Fatal: (1018) Compilation aborted Makefile:2767: recipe for target 'codetools.ppu' failed make[1]: *** [codetools.ppu] Error 1 make[1]: Leaving directory '/tmp/lazarus/components/codetools' Makefile:3241: recipe for target 'codetools' failed make: *** [codetools] Error 2 From nc-gaertnma at netcologne.de Wed Nov 29 10:44:02 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Wed, 29 Nov 2017 10:44:02 +0100 Subject: [Lazarus] Fixes_1_8 branches fails to compile In-Reply-To: <426c412f-a181-63cf-9bc1-4097069cb4f6@mccallumwhyman.com> References: <426c412f-a181-63cf-9bc1-4097069cb4f6@mccallumwhyman.com> Message-ID: <20171129104402.670282fd@limapholos.matflo.wg> On Wed, 29 Nov 2017 09:39:10 +0000 Tony Whyman via Lazarus wrote: > After last night's update from svn, my copy of the 1.8 fixes branch > fails to compile with the following error: > > /tmp/lazarus/components/codetools/codecompletiontool.pas(7094,18) Error: > (5038) identifier idents no member "GetPriorAtom" > codecompletiontool.pas(9802) Fatal: (10026) There were 1 errors > compiling module, stopping See https://bugs.freepascal.org/view.php?id=32752 Mattias From pascaldragon at googlemail.com Wed Nov 29 11:08:33 2017 From: pascaldragon at googlemail.com (Sven Barth) Date: Wed, 29 Nov 2017 11:08:33 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <6f4a18fa-dc7e-e743-a411-ddbe079a9eb2@lumino.de> References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <6f4a18fa-dc7e-e743-a411-ddbe079a9eb2@lumino.de> Message-ID: Am 29.11.2017 09:41 schrieb "Michael Schnell via Lazarus" < lazarus at lists.lazarus-ide.org>: On 28.11.2017 11:28, Sven Barth via Lazarus wrote: Why should they? They are two completely different projects. From the LCL's point of view fpGui is a black box like GTK, Qt or the Windows API. OK, so in the end fpGUI *is* an external Widget set, only that it comes more independent of the OS distribution than WinXX, GTK, QT or Apple variants. Correct (though GTK and Qt are also rather OS independent). Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmlandmesser at gmx.de Wed Nov 29 12:41:15 2017 From: jmlandmesser at gmx.de (John Landmesser) Date: Wed, 29 Nov 2017 12:41:15 +0100 Subject: [Lazarus] Favourite stand-alone db file? In-Reply-To: <15ff89a2c2a.11d5c2ee613738.5603135214080836528@moosemail.net> References: <15ff89a2c2a.11d5c2ee613738.5603135214080836528@moosemail.net> Message-ID: <160667e4-a716-5764-d299-307e3dacbabf@gmx.de> just plain text Files that works with SQL-Statements http://wiki.lazarus.freepascal.org/ZMSQL Am 26.11.2017 um 14:52 schrieb DougC via Lazarus: > It would be hard to beat SQLite for a small stand-alone single-user RDBMS. > > > ---- On Wed, 22 Nov 2017 00:07:02 -0500 *Chavoux Luyt via Lazarus > * wrote ---- > > Hi, > > I remember that years ago in Delphi I often used Paradox (less > often dBase) to create a small stand-alone database with my Delphi > desktop programs. It had tge advantage of > 1. using Delphi database controls, > 2. no need for a database server or DBMS to be installed on the > client's machine (= less resources), > 3. having the ability to deploy the database (basically the DB > file(s) (I think it was one file per table), a .dll and a setup > file telling the program where the db is stored (and links between > tables?)) all together in a single install file (Installshield > most of the time, sometimes a custom self-extracting file). > > I am sure that Lazarus must still be used for these kind of > quick-and-easy small stand-alone desktop applications. But what is > your favourite small/embedded database for this kind of once-off > personal programs these days, and why? Preferably something that > can be used on both Linux and Windows without the need for ODBC or > similar. > > Cheers > Chavoux > -- > _______________________________________________ > Lazarus mailing list > Lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From joshyfun at gmail.com Wed Nov 29 14:27:47 2017 From: joshyfun at gmail.com (=?UTF-8?Q?Jos=c3=a9_Mejuto?=) Date: Wed, 29 Nov 2017 14:27:47 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: El 27/11/2017 a las 19:59, Graeme Geldenhuys via Lazarus escribió: > Then my I suggest you take a look at the LCL-fpGUI widgetset. It has all > the basic components working (except for TLabel), and many of the other > Windows like API's and dialogs etc. It desperately needs a maintainer - > I don't have the time, and rather spend my time improving fpGUI > directly, than maintain a LCL widgetset. Hello, I can spend some time, again, improving LCL-fpGUI but I need the help of somebody expert in fpGUI, as I'm not a fpGUI user at all, and one with good skills in the LCL widget bindings internals, because the last update was stopped because I found unsolvable (by myself alone) problems trying to implement maybe TLabel (I can not remember). When I say help I mean a way to communicate quite fast (maybe direct email) as waiting 2 or 3 days for an answer is frustrating when working with a widgetset as quite sure that missing knowledge is stopping the code write completely. If somebody wish to help I would try again to implement more controls. -- From aaa5500 at ya.ru Wed Nov 29 14:32:59 2017 From: aaa5500 at ya.ru (Alexey) Date: Wed, 29 Nov 2017 16:32:59 +0300 Subject: [Lazarus] Mouse horiz scroll support Message-ID: Does LCL support mouse wheel horz scrolling? how? Ie, i have a mouse which has wheel with horz scroll. On Linux it works in Firefox if i tilt the wheel left/rt. -- Regards, Alexey From aaa5500 at ya.ru Wed Nov 29 14:53:15 2017 From: aaa5500 at ya.ru (Alexey) Date: Wed, 29 Nov 2017 16:53:15 +0300 Subject: [Lazarus] Mouse horiz scroll support In-Reply-To: References: Message-ID: <33538ef9-9954-8a9c-d11a-b3ba7bbcb03d@ya.ru> LCL don't support it. Pls apply this diff- only constant LM_MouseHWHeel https://msdn.microsoft.com/en-us/library/windows/desktop/ms645614(v=vs.85).aspx -------------- next part -------------- A non-text attachment was scrubbed... Name: msg_hwheel.diff Type: text/x-patch Size: 783 bytes Desc: not available URL: From vojtech.cihak at atlas.cz Wed Nov 29 18:25:56 2017 From: vojtech.cihak at atlas.cz (=?utf-8?q?Vojt=C4=9Bch_=C4=8Cih=C3=A1k?=) Date: Wed, 29 Nov 2017 18:25:56 +0100 Subject: [Lazarus] =?utf-8?q?Deleting_items_in_OI?= In-Reply-To: 00000000812800014c8401494fd5 References: <20171025193003.8760A5AF@atlas.cz>, <20171125192159.B17E8244@atlas.cz> 00000000812800014c8401494fd5 Message-ID: <20171129182556.1EB841EA@atlas.cz> Hi, thanks for reply.   Yes, I need something like 1) say to OI thah I'm going to delete TPersistent 2) delete it (my own code) 3) refresh OI (node must disappear)   I tried to search other people's code how they do it but I didn't find any.   Even worse, there is possibility to delete TPersistent in OI with Delete key which I didn't consider before so I have to redesign several components.   V.   ______________________________________________________________ > Od: Juha Manninen via Lazarus > Komu: Lazarus mailing list > Datum: 28.11.2017 13:10 > Předmět: Re: [Lazarus] Deleting items in OI > On Sat, Nov 25, 2017 at 8:21 PM, Vojtěch Čihák via Lazarus wrote: > I just have some more info. Everything was OK to revision 52209. > OI was completly broken between 52210 and 52229 (components didn't appear at all). > Revision 52230 improved OI but deleting didn't work as described in previous > mails, it's up to now. Yes, those were my commits. Sorry I did not answer earlier, something always came up when I planned to study the issue. The changes were more or less valid. At least they fixed bugs and optimized the updates. However your usage of TPropertyEditorHook looks suspicious and counter-intuitive:  aHook.PersistentDeleting(aECTab);  aECTC.DeleteTab(aECTC.TabIndex);  aHook.SelectOnlyThis(aECTC.Tabs);  { force the OI to refresh } Calling aHook.DeletePersistent() would be intuitive. It that is not possible in your case, then we should improve the API. Something like "StartDeletingPersistent()" + "EndDeletingPersistent()" pair maybe. How about calling aHook.Modified? What would be the most intuitive API in your opinion? Juha -- _______________________________________________ Lazarus mailing list Lazarus at lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaa5500 at ya.ru Wed Nov 29 20:53:36 2017 From: aaa5500 at ya.ru (Alexey) Date: Wed, 29 Nov 2017 22:53:36 +0300 Subject: [Lazarus] Need to use this fix in 1.8 Message-ID: https://bugs.freepascal.org/view.php?id=32717 Otherwise, this dialog is not scaled. -- Regards, Alexey From kardan at riseup.net Wed Nov 29 21:26:21 2017 From: kardan at riseup.net (kardan) Date: Wed, 29 Nov 2017 21:26:21 +0100 Subject: [Lazarus] Need to use this fix in 1.8 In-Reply-To: References: Message-ID: <20171129212621.6d26ec49@gybs> On Wed, 29 Nov 2017 22:53:36 +0300 Alexey via Lazarus wrote: > https://bugs.freepascal.org/view.php?id=32717 > > Otherwise, this dialog is not scaled. Is there a chance to make Lazarus 1.8 build natively with KControls? I don't understand the details, but I know how to patch it .. :) With current https://bitbucket.org/tkweb/kcontrols/get/tip.zip our project https://github.com/tomboy-notes/tomboy-ng fails to compile with lazbuild 1.8.0RC5: tkweb-kcontrols-e4ec3f5e4b06/source/kgrids.pas(2945,15) Error: (3058) There is no method in an ancestor class to be overridden: "DoAutoAdjustLayout(const TLayoutAdjustmentPolicy;const Double;const Double;const Boolean); http://www.tkweb.eu/en/delphicomp/kcontrols.html?action=commentaddform&par=5a14825e01662 https://bitbucket.org/tkweb/kcontrols/commits/9fab2d710a8c (commented in trunk) Kardan From mailinglists at geldenhuys.co.uk Thu Nov 30 00:02:39 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Wed, 29 Nov 2017 23:02:39 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> Message-ID: <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> On 2017-11-28 09:02, Michael Schnell via Lazarus wrote: > and support for Delphi-typical RAD-style development. RAD style development is highly overrated - I wish you can see the mess I'm looking at (not my code). Each form are 1000's of lines long with tons of database logic hard-coded, business logic etc. The business rules are scattered between data modules, UI forms and stored procedures. Solving a bug - a needle in a very large haystack. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Thu Nov 30 00:07:17 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Wed, 29 Nov 2017 23:07:17 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <6f4a18fa-dc7e-e743-a411-ddbe079a9eb2@lumino.de> Message-ID: On 2017-11-29 10:08, Sven Barth via Lazarus wrote: > Correct (though GTK and Qt are also rather OS independent). The plus point of fpGUI is that when you compile LCL-fpGUI, you compile (or could recompile) the underlying toolkit too. So bug fixes or improvements can be applied instantly (to LCL or fpGUI). When you build LCL-QT or LCL-GTK3, you don't normally recompile Qt or GTK3 - instead you wait for when those toolkits release a new version and that filters to the next release of your Linux distro. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Thu Nov 30 00:11:36 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Wed, 29 Nov 2017 23:11:36 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: On 2017-11-28 09:11, Michael Schnell wrote: > Is implementing TLabel really that hard ? In LCL yes, because it isn't a widget in the normal sense (unlike in fpGUI). Instead LCL uses Windows-like API calls to render what TLabel represents. The LCL-fpGUI widgetset doesn't have all those Windows-like API's implemented yet. There is actually a whole wiki page dedicated purely to "how to implement TLabel in a new LCL widgetset". That just goes to show how different and difficult it is to implement - compared to all the other widgets. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Thu Nov 30 00:13:49 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Wed, 29 Nov 2017 23:13:49 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: Message-ID: <2cbbb78d-45b5-8bd8-b9fe-13f9444aad5c@geldenhuys.co.uk> On 2017-11-29 13:27, José Mejuto via Lazarus wrote: > I can spend some time, again, improving LCL-fpGUI but I need the help of > somebody expert in fpGUI, as I'm not a fpGUI user at all, and one with > good skills in the LCL widget bindings internals, because the last I'll gladly help where I can, regarding fpGUI. See my private reply for details on how to contact me faster. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mailinglists at geldenhuys.co.uk Thu Nov 30 00:20:36 2017 From: mailinglists at geldenhuys.co.uk (Graeme Geldenhuys) Date: Wed, 29 Nov 2017 23:20:36 +0000 Subject: [Lazarus] Favourite stand-alone db file? In-Reply-To: <160667e4-a716-5764-d299-307e3dacbabf@gmx.de> References: <15ff89a2c2a.11d5c2ee613738.5603135214080836528@moosemail.net> <160667e4-a716-5764-d299-307e3dacbabf@gmx.de> Message-ID: On 2017-11-29 11:41, John Landmesser via Lazarus wrote: > just plain text Files that works with SQL-Statements > > http://wiki.lazarus.freepascal.org/ZMSQL tiOPF also supports persistence of data to XML, TAB or CSV files - JSON to follow shortly. A simple compiler define changes (no other code changes needed), and that same application can do persistence to a Relational Database Server (client/server) or even 3-tier application server. http://tiopf.sourceforge.net See also: http://wiki.freepascal.org/tiOPF Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp From mschnell at lumino.de Thu Nov 30 10:04:04 2017 From: mschnell at lumino.de (Michael Schnell) Date: Thu, 30 Nov 2017 10:04:04 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> Message-ID: <3dd7f67d-f7ac-6c8d-1228-2ce1569af595@lumino.de> On 30.11.2017 00:02, Graeme Geldenhuys via Lazarus wrote: > > RAD style development is highly overrated... I do know that very exactly, been there often enough. RAD is great to create "small" applications, but with huge projects, you will very likely hit a limit where you wish you would not have started the project in an RAD manner. Nonetheless there are lots of 3rd party components for Delphi (and Lazarus if you can get them in source code) that prevent to do your projects using them in a non-RAD manner, as they provide or organize business logic but their components need to be "dragged on a form" and create some user interface there, instead of just providing hooks to have the user do his own GUI for them if appropriate. Porting originally RAD crafted projects to a headless environment (e.g. a small embedded device or to allow running them as a service) is possible (did that multiple times) but a real PITA. That is why a long standing wish is a fully fledged LCL Widget Type (just swap the Widget Type in the project's configuration in Lazarus and press compile), that provides no local GUI but some hook to optionally attach a remote GUI. MSE can do something like this via "ifi" (i.e. an external fpc program connected via some stream interface), more "generally usable" would be an application running in a browser (e.g. Pascal compiled Java script or WebAssembly) connected via HTTP/WebSocket, and a decently prepared way to use such "nearly remote" GUI for a Linux/Windows/Mac "service". -Michael From mschnell at lumino.de Thu Nov 30 10:35:11 2017 From: mschnell at lumino.de (Michael Schnell) Date: Thu, 30 Nov 2017 10:35:11 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <3dd7f67d-f7ac-6c8d-1228-2ce1569af595@lumino.de> References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> <3dd7f67d-f7ac-6c8d-1228-2ce1569af595@lumino.de> Message-ID: <6a4bb4db-5de5-7230-c355-9cfb0f0ca49c@lumino.de> On 30.11.2017 10:04, Michael Schnell via Lazarus wrote: > e.g. a small embedded device or to allow running them as a service.. Of course another important "headless environment" is server applications with built-in Web server or sitting behind a standard WebServer. -Michael From kardan at riseup.net Thu Nov 30 10:58:33 2017 From: kardan at riseup.net (kardan) Date: Thu, 30 Nov 2017 10:58:33 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128202147.349be9e0@gybs> References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> <20171128004138.1d18b918@gybs> <20171128202147.349be9e0@gybs> Message-ID: <20171130105833.46e3da60@gybs> Hi, it looks like I need to train my patience a bit more. On Tue, 28 Nov 2017 20:21:47 +0100 kardan via Lazarus wrote: > summary: my fpc and ppcross* have different versions, because I can't > build fpc with the installed version. Why does this happen: > > ~/src/fpc(master)$ make all > Makefile:2918: *** The only supported starting compiler version is > 3.0.2. You are trying to build with 3.0.4.. Stop. can I still expect an answer or what did I do wrong? Thanks for your hints! Kardan From marcov at stack.nl Thu Nov 30 11:04:31 2017 From: marcov at stack.nl (Marco van de Voort) Date: Thu, 30 Nov 2017 11:04:31 +0100 (CET) Subject: [Lazarus] FPC 3.0.4 released! Message-ID: <20171130100431.D0A835082E@toad.stack.nl> Hello, Finally, the Free Pascal 3.0.4 release is available from our FTP servers. Changes that may break backwards compatibility will be documented at: http://wiki.freepascal.org/User_Changes_3_0_4 For Downloads, please use the FTP server at ftp://freepascal.stack.nl/pub/fpc/dist/3.0.4/ and sourceforge https://sourceforge.net/projects/freepascal/files/ as much possible. Enjoy! The Free Pascal Compiler Team Free Pascal Compiler Version 3.0.4 ****************************************************************************** What's New in 3.0.4 ****************************************************************************** Free Pascal 3.0.4 is a point release of the 3.0.x fixes branch. Please also see http://wiki.freepascal.org/User_Changes_3.0.4 for a list of changes that may affect the behaviour of previously working code, and how to cope with these changes. Some highlights are: Packages: * fcl-pdf updates * fcl-passrc updates. * fix traceback on ELF based systems See http://bugs.freepascal.org/changelog_page.php for the list of reported bugs which have been fixed in this release. From nc-gaertnma at netcologne.de Thu Nov 30 11:34:55 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Thu, 30 Nov 2017 11:34:55 +0100 Subject: [Lazarus] Cross-compiling to win32 from debian stretch In-Reply-To: <20171128202147.349be9e0@gybs> References: <20171128000733.03dc7c71@gybs> <20171128002029.4a00ea78@limapholos.matflo.wg> <20171128004138.1d18b918@gybs> <20171128202147.349be9e0@gybs> Message-ID: <20171130113455.66530957@limapholos.matflo.wg> On Tue, 28 Nov 2017 20:21:47 +0100 kardan via Lazarus wrote: > Hi, > > summary: my fpc and ppcross* have different versions, because I can't > build fpc with the installed version. Why does this happen: > > ~/src/fpc(master)$ make all > Makefile:2918: *** The only supported starting compiler version is > 3.0.2. You are trying to build with 3.0.4.. Stop. In general you need the last release of FPC to build the new FPC. And with release I don't mean release candidates. So 3.0.2 was the last release. FPC 3.0.4 was released today, so FPC trunk will soon require 3.0.4. Mattias From el.es.cr at gmail.com Thu Nov 30 12:09:12 2017 From: el.es.cr at gmail.com (el es) Date: Thu, 30 Nov 2017 11:09:12 +0000 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> Message-ID: On 29/11/17 23:02, Graeme Geldenhuys via Lazarus wrote: > On 2017-11-28 09:02, Michael Schnell via Lazarus wrote: >> and support for Delphi-typical RAD-style development. > > RAD style development is highly overrated - I wish you can see the > mess I'm looking at (not my code). Each form are 1000's of lines long > with tons of database logic hard-coded, business logic etc. The > business rules are scattered between data modules, UI forms and > stored procedures. Solving a bug - a needle in a very large > haystack. > It is not easy to break free from old, procedural programming practices especially that one of the 'best books' at the time did actively encourage this kind of programming (Delphi 'Bible', around the time of D7, I'm looking at ya) Heck, even the quasi-gui systems of old (Clipper, anyone?) were not emphasizing that. (or just did not erect the business <-> GUI code barrier high enough for people to notice... or even state what it is or where it is supposed to be, or how it's supposed to be organized. There is a sore lack of mid-grade non-trivial examples of that... when most examples for D you can find are 'slap a button on the form and then paste this code to OnClick procedure', it starts inevitably to look like a hammer, to invoke the age-old pun ). This may be 'obvious' to born and bred programmers ... ... but may not be not so for someone who just picked the Delphi for Beginners, and tried to learn from that. Or just carried over their experience from Fortran, or Matlab, of all things. > Regards, Graeme > /rant ;) -L. From mschnell at lumino.de Thu Nov 30 12:46:38 2017 From: mschnell at lumino.de (Michael Schnell) Date: Thu, 30 Nov 2017 12:46:38 +0100 Subject: [Lazarus] External/out-of-tree LCL widgetset In-Reply-To: References: <6e9206e8-5659-332e-1ffa-766d736ae121@lumino.de> <0a2011d2-8ba0-8fff-ed36-8822a743b2fe@geldenhuys.co.uk> Message-ID: <054b782b-9974-6b3e-ee3d-807c3d11267a@lumino.de> On 30.11.2017 12:09, el es via Lazarus wrote: > It is not easy to break free from old, ... programming practices Nonetheless, IMHO RAD is a great way to start programming, as you immediately and painlessly can see (visualize) what your "business logic" software does and easily set parameters and triggers for your business logic. So you are not that likely to jump off the ship at an early stage. But education needs to make clear the limitations of this proceeding strong enough. -Michael From nc-gaertnma at netcologne.de Thu Nov 30 12:52:38 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Thu, 30 Nov 2017 12:52:38 +0100 Subject: [Lazarus] Need to use this fix in 1.8 In-Reply-To: <20171129212621.6d26ec49@gybs> References: <20171129212621.6d26ec49@gybs> Message-ID: <20171130125238.66f28d8a@limapholos.matflo.wg> On Wed, 29 Nov 2017 21:26:21 +0100 kardan via Lazarus wrote: > On Wed, 29 Nov 2017 22:53:36 +0300 > Alexey via Lazarus wrote: > > > https://bugs.freepascal.org/view.php?id=32717 > > > > Otherwise, this dialog is not scaled. > > Is there a chance to make Lazarus 1.8 build natively with KControls? I > don't understand the details, but I know how to patch it .. :) > > With current https://bitbucket.org/tkweb/kcontrols/get/tip.zip our > project https://github.com/tomboy-notes/tomboy-ng fails to compile with lazbuild 1.8.0RC5: tkweb-kcontrols-e4ec3f5e4b06/source/kgrids.pas(2945,15) Error: (3058) There is no method in an ancestor class to be overridden: "DoAutoAdjustLayout(const TLayoutAdjustmentPolicy;const Double;const Double;const Boolean); > http://www.tkweb.eu/en/delphicomp/kcontrols.html?action=commentaddform&par=5a14825e01662 > https://bitbucket.org/tkweb/kcontrols/commits/9fab2d710a8c (commented > in trunk) DoAutoAdjustLayout exists in 1.8. Please provide some small example demonstrating the problem. Mattias From nc-gaertnma at netcologne.de Thu Nov 30 13:00:47 2017 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Thu, 30 Nov 2017 13:00:47 +0100 Subject: [Lazarus] Mouse horiz scroll support In-Reply-To: <33538ef9-9954-8a9c-d11a-b3ba7bbcb03d@ya.ru> References: <33538ef9-9954-8a9c-d11a-b3ba7bbcb03d@ya.ru> Message-ID: <20171130130047.359de103@limapholos.matflo.wg> On Wed, 29 Nov 2017 16:53:15 +0300 Alexey via Lazarus wrote: > LCL don't support it. > Pls apply this diff- only constant LM_MouseHWHeel > > https://msdn.microsoft.com/en-us/library/windows/desktop/ms645614(v=vs.85).aspx I added it. Mattias From kardan at riseup.net Thu Nov 30 15:25:40 2017 From: kardan at riseup.net (kardan) Date: Thu, 30 Nov 2017 15:25:40 +0100 Subject: [Lazarus] Fixed: KControls - Re: Need to use this fix in 1.8 In-Reply-To: <20171130125238.66f28d8a@limapholos.matflo.wg> References: <20171129212621.6d26ec49@gybs> <20171130125238.66f28d8a@limapholos.matflo.wg> Message-ID: <20171130152540.107a63ce@gybs> Thanks for looking into this! On Thu, 30 Nov 2017 12:52:38 +0100 Mattias Gaertner via Lazarus wrote: > On Wed, 29 Nov 2017 21:26:21 +0100 > kardan via Lazarus wrote: > > > With current https://bitbucket.org/tkweb/kcontrols/get/tip.zip our > > project https://github.com/tomboy-notes/tomboy-ng fails to compile > > with lazbuild 1.8.0RC5: > > tkweb-kcontrols-e4ec3f5e4b06/source/kgrids.pas(2945,15) Error: > > (3058) There is no method in an ancestor class to be overridden: > > "DoAutoAdjustLayout(const TLayoutAdjustmentPolicy;const > > Double;const Double;const Boolean); > > http://www.tkweb.eu/en/delphicomp/kcontrols.html?action=commentaddform&par=5a14825e01662 > > https://bitbucket.org/tkweb/kcontrols/commits/9fab2d710a8c > > (commented in trunk) > > DoAutoAdjustLayout exists in 1.8. Please provide some small example > demonstrating the problem. > > Mattias As code is a moving target, it's good to have tests. It looks like the fix has been backported meanwhile. Anyway I attach my test scripts, please excuse that I cannot provide a smaller example. Just during writing the test script I saw $ ././test_kcontrols_1.7.sh kcontrols/source/kmemortf.pas(4030,10) Error: (5000) Identifier not found "UTF8Copy" Tk recommends: "Check if LazUTF8.pas has this function. If not then you must update to newer Lazarus version (I recommend using the trunk via fpcupdeluxe)." I just redownloaded the archive for KControls 1.7 and it magically works. I don't understand it, but it's fine. No changes to Lazarus 1.8RC5 needed. $ ././test_kcontrols_trunk.sh Test for KControls trunk succeeded. The list of changes since the last release is immense and I am sure after two years work the author will be happy to release a new version known to work with upcoming Lazarus 1.8. $ diff -r kcontrols_17 kcontrols_trunk|less Kardan -------------- next part -------------- A non-text attachment was scrubbed... Name: test_kcontrols_1.7.sh Type: application/x-shellscript Size: 1216 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test_kcontrols_trunk.sh Type: application/x-shellscript Size: 1201 bytes Desc: not available URL: From aaa5500 at ya.ru Thu Nov 30 17:48:16 2017 From: aaa5500 at ya.ru (Alexey) Date: Thu, 30 Nov 2017 19:48:16 +0300 Subject: [Lazarus] Mantis patch "Mouse-wheel-horz-scroll support" Message-ID: <13e7d420-154a-fa53-0f09-dbf08f570290@ya.ru> https://bugs.freepascal.org/view.php?id=32753 1. It is tested on Gtk2 and Win32. Gtk1 is not tested [but code is copy pasted, 4..5 values for vert scroll - copied block with 6..7 values for horz scroll, 6..7 is from gtk doc]. 2. Maybe change issue section to "Patches" 3. you applied micro patch for LM_MouseHWHeel - changed in mantis patch -- Regards, Alexey From juha.manninen62 at gmail.com Thu Nov 30 18:10:55 2017 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Thu, 30 Nov 2017 19:10:55 +0200 Subject: [Lazarus] FPC 3.0.4 released! In-Reply-To: <20171130100431.D0A835082E@toad.stack.nl> References: <20171130100431.D0A835082E@toad.stack.nl> Message-ID: Thanks FPC developers for the release! Juha