Re: [Lazarus] Beyond Compare finally moved to LCL

2015-06-27 Thread Michael Van Canneyt



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

2015-06-27 Thread Graeme Geldenhuys
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 (sarcasmjust 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

2015-06-27 Thread leledumbo
 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. :)

That's actually kinda expected. People with urgent needs will move much
faster, and that's what makes our framework better. We actually need even
more commercial companies whose employees are as skillful as scooter
software, so the work on free time only paradigm that FPC  Lazarus
developers use can be pushed by those companies becoming the contributors
instead of just users. They get their product done, we got our bu gs fixed
and hopefully some new features, too :)



--
View this message in context: 
http://free-pascal-lazarus.989080.n3.nabble.com/Lazarus-Beyond-Compare-finally-moved-to-LCL-tp4042961p4042968.html
Sent from the Free Pascal - Lazarus mailing list archive at Nabble.com.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Beyond Compare finally moved to LCL

2015-06-27 Thread Graeme Geldenhuys
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

2015-06-27 Thread Graeme Geldenhuys
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

2015-06-27 Thread zeljko

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


[Lazarus] systemd

2015-06-27 Thread A. Fortuny

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] systemd

2015-06-27 Thread SPRL AFOR

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?

2015-06-27 Thread Florian Klaempfl
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] Beyond Compare finally moved to LCL

2015-06-27 Thread zeljko

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

2015-06-27 Thread Michael Van Canneyt



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


Re: [Lazarus] systemd

2015-06-27 Thread Luca Olivetti

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] OOP - where do you start?

2015-06-27 Thread Michael Van Canneyt



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

2015-06-27 Thread Zoë Peterson

 On Jun 26, 2015, at 2:42 PM, Graeme Geldenhuys 
 mailingli...@geldenhuys.co.uk 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

2015-06-27 Thread Michael Van Canneyt



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

2015-06-27 Thread Graeme Geldenhuys
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

2015-06-27 Thread Gordon Cooper

 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