Re: [Lazarus] Beyond Compare finally moved to LCL
On 2015-06-27 07:38, leledumbo wrote: > They get their product done, we got our bu gs fixed > and hopefully some new features, too :) I know it doesn't work like that in open source software project, but I seriously think Lazarus should stop new features for a while and concentrate on bug fixing and making LCL consistent across platforms. I've recently had to use LCL for a client, and inconsistencies and bugs appeared immediately, and just as I remembered them the last time I used LCL - back in 2006. This doesn't bode well for companies considering moving code to Lazarus. fpGUI might not be as large as LCL, or have as many components as LCL, but is sure is way more consistent across platforms (I'm talking development, API behaviour wise). In fact I normally only develop under one platform, then when in comes to building a release for my applications, I fire up the VM's and compile for other targets. 99.9% of the time the other targets work just like my main development platform. Regards, - Graeme - -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On Sat, 27 Jun 2015, Graeme Geldenhuys wrote: On 2015-06-27 07:38, leledumbo wrote: They get their product done, we got our bu gs fixed and hopefully some new features, too :) I know it doesn't work like that in open source software project, but I seriously think Lazarus should stop new features for a while and concentrate on bug fixing and making LCL consistent across platforms. I've recently had to use LCL for a client, and inconsistencies and bugs appeared immediately, and just as I remembered them the last time I used LCL - back in 2006. This doesn't bode well for companies considering moving code to Lazarus. I am strongly beginning to feel something is wrong with me... I can't remember noticing anything beyond the fact that it is a different look - which is to be expected if you switch OS - and that font sizes are sometimes an issue :( Can you give some examples ? Maybe report them to the bug tracker, so they can be fixed. The same should maybe be asked from the people at scooter software. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On 2015-06-27 10:31, Michael Van Canneyt wrote: > I am strongly beginning to feel something is wrong with me... You are predominately a backend man. ;-) > Can you give some examples ? Sure... * Events fired in different orders depending on the widgetset you use. I can't remember which components it was (I think TListView), but if I really must I can find out exactly. * TStatusBar.Panels[].Width only works in LCL-Win32/64. Under OSX and Linux they are simply ignored. I had to apply an ugly "floating panel" work-around to position online/offline status images on the right edge of the statusbar. * Button (or maybe BitButton) clipped button images under OSX, but doesn't under Linux and Windows. * Properties exist on a component and available to all widgetsets, yet is only functional for one widgetset. The developer isn't warned about this in the code editor (eg: code completion popup), only in the Object Inspector's Restricted tab. I don't verify every single property I use via Object Inspector before I use it - I doubt others do too. ...I could list many more if I dug deeper and thought about it a bit more. I didn't make notes of them all and in hindsight, I should have reported them all on Mantis. My bad. Anyway, I found these within the first day of working with a LCL application. Yes, they might sound trivial on their own, but add them up, and it is a huge time waster and annoyance for the developer having to find work-arounds of something that should just work. LCL's whole theory is making your programs portable, write once and compile everywhere etc... But the fact of the matter is, it hardly works out like that. I've seen it, Scooter Software has seen it, and probably many more. As I said, I found issues like these back in 2006. It caused so much frustration that I started a new GUI toolkit to prevent such issues. Fast forward to 2015, and LCL still behaves the same as it did in 2006 - that's almost 10 years later! Yes, yes, I know some things have improved too. I fully understand this is an open source project. Everybody wants to work on things they like, everybody wants to introduce the newest and latest feature or component Nobody wants to fix bugs. But hey, the Lazarus project doesn't have to feel bad, Embarcadero is doing exactly the same thing with Delphi (just look at all the happy customers in the Delphi newsgroups). Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On 06/27/2015 09:59 AM, Graeme Geldenhuys wrote: On 2015-06-27 07:38, leledumbo wrote: They get their product done, we got our bu gs fixed and hopefully some new features, too :) I know it doesn't work like that in open source software project, but I seriously think Lazarus should stop new features for a while and concentrate on bug fixing and making LCL consistent across platforms. I've recently had to use LCL for a client, and inconsistencies and bugs appeared immediately, and just as I remembered them the last time I used LCL - back in 2006. This doesn't bode well for companies considering moving code to Lazarus. fpGUI might not be as large as LCL, or have as many components as LCL, but is sure is way more consistent across platforms (I'm talking development, API behaviour wise). In fact I normally only develop under one platform, then when in comes to building a release for my applications, I fire up the VM's and compile for other targets. 99.9% of the time the other targets work just like my main development platform. Use QtLCL on all platforms and you'll get same result as with fpgui (of course Qt takes OS theme look, so that's difference definitelly, but you can get same look at all platforms with eg. -style windows ... which uses win95 style). QtLCL is also LCL. IMO, gtk2 (and gtk3) is kinda of kindergarten library and it'll never fit lcl needs. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On 2015-06-27 11:17, zeljko wrote: > Use QtLCL on all platforms and you'll get same result as with fpgui (of > course Qt takes OS theme look, so that's difference definitelly I mentioned that too. It is probably the exact reason why Scooter Software chose to use LCL-QT on OSX and Linux... To try and get some consistency in LCL. In this discussion I'm not referring to looks or themes at all. I'm only referring to the underlying workings of LCL. Events, properties, available features etc. Regards, - Graeme - -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On Sat, 27 Jun 2015, Graeme Geldenhuys wrote: On 2015-06-27 10:31, Michael Van Canneyt wrote: I am strongly beginning to feel something is wrong with me... You are predominately a backend man. ;-) Currently yes. But I've written numerous GUI programs in Lazarus. Can you give some examples ? Sure... * Events fired in different orders depending on the widgetset you use. I can't remember which components it was (I think TListView), but if I really must I can find out exactly. * TStatusBar.Panels[].Width only works in LCL-Win32/64. Under OSX and Linux they are simply ignored. I had to apply an ugly "floating panel" work-around to position online/offline status images on the right edge of the statusbar. * Button (or maybe BitButton) clipped button images under OSX, but doesn't under Linux and Windows. * Properties exist on a component and available to all widgetsets, yet is only functional for one widgetset. The developer isn't warned about this in the code editor (eg: code completion popup), only in the Object Inspector's Restricted tab. I don't verify every single property I use via Object Inspector before I use it - I doubt others do too. ...I could list many more if I dug deeper and thought about it a bit more. I didn't make notes of them all and in hindsight, I should have reported them all on Mantis. My bad. Anyway, I found these within the first day of working with a LCL application. Yes, they might sound trivial on their own, but add them up, and it is a huge time waster and annoyance for the developer having to find work-arounds of something that should just work. Well, in view of the total number of components distributed with Lazarus this seems a rather minor set of problems (although I believe you when you say you'll find more if you set your mind on it). Of course, any problem is a huge problem if you happen to be the one stumbling on it. In each case, such things should be reported, or else they will definitely not get fixed in the upcoming next 10 years either :) In my experience, the Lazarus team does try to fix reported problems to a reasonable extent, when they make a new release. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] systemd
Hi Folks. Currently I have some services running in a linux box (OpenSuse 11.2) and they will be moved to an OpenSuse 13.2. I want to move the services from SysV to systemd. I noticed that in the service configuration file (namely /usr/lin/systemd/system/MyService.service) there are some options wich bother me a little bit. The services are programs written using Lazarus and its service framework. Please note that the services run either on Windows or on Linux (some $ifdef help). I wonder what happens on two points: 1. the new service type parameter TYPE in section [Service] should be "simple" I guess 2. the parameter TimeoutStartSec bothers me. As in the sefvice framework developed using Lazarus units (service project), the program is started by the INIT script in /etc/init.d with the -r runtime switch. The program then responds to the start event of the Daemon unit wich, in turn, starts the main thread and the called start procedure exits as soon as posible. The program keeps running until the exit signal is fired and the main thread is stopped. If it is by the means of the INIT script (service MyService stop) the process is killed either soft or hard. The question is: does a service written in this new method still needs the Lazarus service framework ? What is the signal sent to systemd wich informs it that the sevice has started (read man systemd.service (5) )? The same mechanism as the Lazarus service framework still applies ? I'm not yet ready to use either D-BUS messaging system nor socket based systemd start service mechanism. Thank you for any information. Antonio. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] OOP - where do you start?
Am 26.06.2015 um 14:47 schrieb Michael Van Canneyt: > > > On Fri, 26 Jun 2015, Graeme Geldenhuys wrote: > >> Hi, >> >> Last night I was working on a relatively new project. This got me >> thinking... How do others tackle such a task? >> >> So here is my question: >> >> When faced with a new database related project, where do you start? Do >> you first design the database schema, then build the BOM (Business >> Objects) accordingly? Or, do you first design the BOM, then design the >> database schema to fit. >> >> Personally, most of my project were started by first creating the >> database schema. Don't ask me why, that is just what I did. Maybe it was >> because many of the tools I use, can write much of the boiler plate code >> for me, and they do that by querying a database structure. But I've been >> thinking that with my next project, I'm going to start with the BOM >> first, and see how it goes. I'm assuming the end result should be the >> same, no matter which part I tackled first. >> >> What's your thoughts? > > I always start with the data. Almost all applications I ever wrote have > databases. Maybe we should store compiled unit interfaces in a database instead of using .ppu ;) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] systemd
El 27/06/15 a les 13:47, A. Fortuny ha escrit: Hi Folks. Currently I have some services running in a linux box (OpenSuse 11.2) and they will be moved to an OpenSuse 13.2. I want to move the services from SysV to systemd. Did you see this? http://wiki.freepascal.org/Daemons_and_Services#Linux_.28Fedora.29 Bye -- Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] systemd
Le 27/06/2015 14:31, Luca Olivetti a écrit : El 27/06/15 a les 13:47, A. Fortuny ha escrit: Hi Folks. Currently I have some services running in a linux box (OpenSuse 11.2) and they will be moved to an OpenSuse 13.2. I want to move the services from SysV to systemd. Did you see this? http://wiki.freepascal.org/Daemons_and_Services#Linux_.28Fedora.29 No but tons of similar pages on linus systemd architecture. But none give an answer to my questions but indirectly The service configuration file on the wiki paghe suggests thar the service program (because of the -r swith) uses the Lazarus service framework TimeourSec is mentioned but without explanation. I gonna run a try one of those days. Thanks anyway. Bye --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] OOP - where do you start?
On Sat, 27 Jun 2015, Florian Klaempfl wrote: Am 26.06.2015 um 14:47 schrieb Michael Van Canneyt: On Fri, 26 Jun 2015, Graeme Geldenhuys wrote: Hi, Last night I was working on a relatively new project. This got me thinking... How do others tackle such a task? So here is my question: When faced with a new database related project, where do you start? Do you first design the database schema, then build the BOM (Business Objects) accordingly? Or, do you first design the BOM, then design the database schema to fit. Personally, most of my project were started by first creating the database schema. Don't ask me why, that is just what I did. Maybe it was because many of the tools I use, can write much of the boiler plate code for me, and they do that by querying a database structure. But I've been thinking that with my next project, I'm going to start with the BOM first, and see how it goes. I'm assuming the end result should be the same, no matter which part I tackled first. What's your thoughts? I always start with the data. Almost all applications I ever wrote have databases. Maybe we should store compiled unit interfaces in a database instead of using .ppu ;) We already do: a unit is a database, using a proprietary format ;-) Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
> On Jun 26, 2015, at 2:42 PM, Graeme Geldenhuys > wrote: > Yes and No. I think there hand was forced. They wrote their own Qt3 for > CLX, and due to Kylix, was limited to 32-bit only. Credit where credit's due, the CLX/Qt3 port was originally Andreas Hausladen's. We did do a lot of work on it, but the public project had died by that point where we could have contributed patches. > So I think long term support was probably a massive push to move to a more up > to date > compiler. Gaining 64-bit support was definitively the primary motivator. There's obviously been a ton of other benefits on the development side too, and it's been our plan to switch for quite a while. The OS X version just took priority for v4.0 since we could limp along on Kylix. > Their OSX version which was the first version to use LCL, also > has a lot of customisations and fixes applied over the stock LCL. They > ported some of their own Qt3 code to LCL used in BC - all to improve the > usability under OSX. Then the move from OSX to Linux wasn't straight > forward either. LCL-Qt was chosen on both platforms to get some > improvement on consistency. They assured me it wasn't just a matter of a > recompile. :) Minor correction: We're using LCL-Carbon on OS X. When I mentioned reusing our Qt code, I was just referring to on Linux. We have a lot of behavior the VCL/LCL aren't designed for, a ton of custom controls, and extensive platform specific look & feel customizations, all of which involve calls to the widget set or raw APIs. Consistency between LCL-Carbon and LCL-Qt for default behavior is extremely high by comparison. AFAIK we've submitted all/most of our LCL changes to the bug tracker, though I'll admit David hasn't been proactive about actually committing them into the official repository. The big trouble with sharing the rest of our enhancements is that they're in our VCL/LCL(/CLX) abstraction layer. -- Zoë Peterson Scooter Software -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On Sat, 27 Jun 2015, Zoë Peterson wrote: AFAIK we've submitted all/most of our LCL changes to the bug tracker, though I'll admit David hasn't been proactive about actually committing them into the official repository. The big trouble with sharing the rest of our enhancements is that they're in our VCL/LCL(/CLX) abstraction layer. A wholehearted 'Thank you' is on it's place, I think :) Michael.-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On 06/27/2015 04:05 PM, Zoë Peterson wrote: Minor correction: We're using LCL-Carbon on OS X. When I mentioned reusing our Qt code, I was just referring to on Linux. We have a lot of behavior the VCL/LCL aren't designed for, a ton of custom controls, and extensive platform specific look & feel customizations, all of which involve calls to the widget set or raw APIs. Consistency between LCL-Carbon and LCL-Qt for default behavior is extremely high by comparison. I could not get lclcarbon consistent as qtlcl for my commercial apps. Yes, it's harder to deploy QtLCL (especially on mac) but it works :) zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
On 2015-06-27 15:05, Zoë Peterson wrote: > AFAIK we've submitted all/most of our LCL changes to the bug tracker, Fantastic to hear - many thanks for that and the updated info. Regards, - Graeme - -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Beyond Compare finally moved to LCL
I am fully in agreement with Graeme. Have given up working with Lazarus (I'm now only a hobby programmer) because of the constant changes and inconsistencies. In old age, I prefer stability. Gordon. On 06/27/2015 07:59 PM, Graeme Geldenhuys wrote: I know it doesn't work like that in open source software project, but I seriously think Lazarus should stop new features for a while and concentrate on bug fixing and making LCL consistent across platforms. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] MariaDB access - modifying the MySQL56Connection component
Hi This question has obviously been asked many times before, but I am having trouble dealing with the answers. I run MariaDB, rather than MYSQL, using OpenSUSE 13.2, with Lazarus 1.4, Free Pascal 2.6.4, downloaded from Sourceforge. I have the usual issue getting a database connection: "TMySQL56Connection can not work with the installed MySQL client version: Expected (5.6), got (10.0.13-MariaDB)" There's a diff associated with the bug report at http://bugs.freepascal.org/view.php?id=26620 which I have attempted to apply, without success. What I tried was: - patch /usr/share/fpsrc/2.6.4/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc as in the diff - rebuilt, using the Makefile in that directory - within Lazarus, rebuilt the IDE. This hasn't achieved anything. I get the same error, which presumably means I have missed out some steps. I'm starting to find the documentation wiki "a mass of twisted passages, all alike". Is there a simple explanation of what I have missed? TIA Susie --- Susie Nichol Christchurch, New Zealand. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus