Recent

Author Topic: Not wishing to Cut Nose/Spite face.  (Read 37937 times)

MorbidFractal

  • Jr. Member
  • **
  • Posts: 97
Not wishing to Cut Nose/Spite face.
« on: April 11, 2015, 07:45:31 pm »
I am sick and tired of playing nursemaid to this piece of rubbish.

Let me draw an analogy which will probably indicate it is 'my fault'..

Back in 1986 I was exposed to a HP Plotter. In order to get it to work you had to imprint in your mind the correct 54 key sequences in order to set it up. Any mistake was met by fail.

Back in 1996 I was exposed to CADSTAR. Prior to cutting my arms off and throwing them in the bin I stood in the drawing office and said...

"I do not think I am stupid but this software insists that I am."

I was rewarded with a round of applause.

Don't get me wrong. Perhaps my mindset does not align in the correct manner but all I find is that I am repeatedly trying to find work arounds when the thing bleats at me. Sometimes I might succeed but then I have no illusions that I will probably have bent something in a manner that will result in it being broken on the 'latest and greatest'.

It also does not help when I get a 'instance does not disclose caption error' or some such drivel and I have to edit the 'lpr' file in a text editor to remove the reference and then..... blah blah blah blah blah.

I do appreciate the efforts and time taken to offer me the chance to do a bit of programming in Pascal and once again I am, slightly, prepared to admit part of the fault may be mine but for the moment all I appear to be doing is programming using broken stuff and having to apply plasters.

Graeme

  • Hero Member
  • *****
  • Posts: 1496
    • Graeme on the web
Re: Not wishing to Cut Nose/Spite face.
« Reply #1 on: April 11, 2015, 07:58:15 pm »
I find is that I am repeatedly trying to find work arounds when the thing bleats at me.
When using Lazarus LCL I feel exactly the same. It is as if nobody actually uses it to create real programs, and they all overlook the insane amount of .inconsistently between platforms (LCL-GTK2 vs LCL-GTK3 vs LCL-Qt vs LCL-Win32/Win64). I gave up complaining in the mailing list because I got rather rude public (sic) and private replies.

Object Pascal is a great language though, and FPC is a really good compiler. Lazarus IDE has some good points, but in recent times it tried to do too much for me, causing me more frustration that good. Luckily in the open source world you have choice, and lots of it. You are welcome to try fpGUI Toolkit (instead of LCL) for you Pascal needs. It is 100% custom drawn and 100% implemented in Object Pascal. With that you get the guarantee that things are consistent between platforms too. Finding and fixing bugs are pretty easy too, because you have full control over the whole toolkit. fpGUI is also not dependent on any specific IDE, so you are free to use any text editor of choice, or even other IDE's (ones you might know better that Lazarus IDE) like Geany, Eclipse, IDEA, MSEide etc.

You didn't mention your exact needs and requirements, but maybe fpGUI could be a better fit for you. It sure has been for me and others.  http://fpgui.sourceforge.net
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12202
  • Debugger - SynEdit - and more
    • wiki
Re: Not wishing to Cut Nose/Spite face.
« Reply #2 on: April 11, 2015, 08:33:55 pm »
Code: [Select]
Let me draw an analogy which will probably indicate it is 'my fault'..

The good news: Its probably not entirely your fault
The bad news: Part of it may be yours.

There are many small (and less small errors). Well that is software development for you. At least you did not have to buy FPC/Lazarus and then find out the problems that do happen.

Maybe Graeme is right, and you Lazarus does not match your needs, maybe not.

I looked up the "I despair" thread. And you just wanted it to run on one platform. So there it does not matter, if it is Lazarus or fpGUI. It either works on your system, or not.

Quote
Version #: 1.0.10+dfsg-1
Quote
if moving to newer versions fixes the problem then I can cut my wrist off and try it. I am however a bit of a novice and rely on the depositories. That's why I have the version I have at the moment.

Well really then you have to take it up with the maintainers of the Linux distro you use. The Lazarus team has no influence (and no access to change it) which version a distro ships.
Sure this does not help you, but that will apply to all software that you can use. And some software may not even be in the distro's repository.

Anyway you solved that
Quote
I got the deb files from SourceForge and put version 1.2.6 on.

Quote
Unfortunately having dragged the originals constructed under 1.0.1 into 1.2.6 everything has gone horribly wrong. Scratches head.....
That is indeed very unfortunate, and sad.
The goal is that any old project should open correctly in newer IDEs

Sometimes there are changes that can not be avoided and that affect compatibility. They get listed, and described with workaround.
http://wiki.lazarus.freepascal.org/Lazarus_1.2.0_release_notes#Changes_affecting_compatibility
http://wiki.lazarus.freepascal.org/Lazarus_1.4.0_release_notes#Changes_affecting_compatibility

Those lists seem bigger than they are, as most of them only affect very special and rare situations.

None of them would go to the extend of trashing your design. If you still have the files then maybe post them (it will probably be to late to fix it for 1.4, if it is still happening)

Errors where your layout suddenly behaves weird are often problems caused by anchoring. Sometimes if circular structures exist, that can not be resolved. The IDE should prevent you from being able to create them, but sometimes it was (is?) still possible to create them. AS they should not exist, they would then also behave different in different versions.
But of course this is only one possibility.

Quote
At Run Time the components no longer behave themselves. They will AutoSize to fit the width of the ScrollBox as it is increased but having done so remain at the same width when the width of the ScrollBox is decreased.
If you can reproduce this, (ideally in a small example) it would be good to report a bug.


-----------------------
I know ideally the software would just work. And of  course you rather spend your time on your problems, that on reporting bugs, and waiting for them to be solved. No blame, I feel the same.
But that is not how it works in the real world.

You might even want (or maybe not, your decision) to go and try the 1.4RC3 (that was released just a few days ago)

Just a note, there may still be an autosize issue with TScrollbox content, I came across that one myself recently. But I have not entirely checked, if it is anything I did or an actual bug.


munair

  • Hero Member
  • *****
  • Posts: 887
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: Not wishing to Cut Nose/Spite face.
« Reply #3 on: April 11, 2015, 08:53:05 pm »
Well then mister MorbidFractal, let me tell you a bit of my experience...

In the early 80s, as a young teen, I learned my first programming on a zx80 spectrum, yes that small white box with 4KB memory that you had to plug into your TV screen. Later on I learned to program with ROM GW-BASIC that was installed by default on every IBM PC. QuickBASIC and then Visual Basic were great improvements. But all these products were commercial with protected interests.

When Linux became the mature OS that it is today it was a great joy to work with compared to the commercial and limiting Windows or OS-X, despite it not always being perfect as it is open source, largly maintained by volunteers. But hey, Windows wasn't perfect either. Who doesn't remember the blue screens of death, dll-hell and driver conflicts? My point is, no software is perfect and today systems are so large and complex that I am amazed how well most of them work. You cannot possibly compare them with what we had to our disposal in the earlier years.

Linux became my favourite choice and throughout the years I have tried several software development tools other than C/C++, .NET or other jit compilers. For several years the commercial but cross-platform RAD tool Real Studio (now called XOJO) was the best option coming from the BASIC world. The disadvantage was that RS made it difficult to share code or even print it properly (RS printing has always been deliberately limited on Linux because Linux itself is not a commercial product). Today Real Studio is really behind when it comes to Linux support, so I quit using it about two years ago. I already had my Linux software developed but it was now rapidly aging. Time for a new RAD tool and cross-platform if possible.

Although I had come across Lazarus several years ago and even installed it, I was faced with quite a different language compared to BASIC dialects. Not an option I thought at the time.

Last month I had another peek at Lazarus and to my surprise it had reached version 1. Wow I thought! I immediately gave the current stable version a try. How dissapointed I was to see that adding units to my project somehow confused Lazarus not being able to find its own units anymore!

But I didn't give up so easily, because the idea behind Lazarus is great! So I thought what the hack and installed version 1.4RC2, and HEY it worked! Luckily, because of a few 15 year old Delphi books I still have out of my interest in programming languages, I was able to learn the basics of Pascal rather quickly and I started to enjoy programming with Lazarus. I ported several modules from my Real Studio projects to Pascal units and it all just worked, version 1.4RC2 not failing me once! I am now working on a larger project, porting a full application using version 1.4RC3. I can assure you Lazarus has become a serious competitor, allowing cross-platform development.

I too find some annoyances now and then, but they are nothing compared to what it allows me to do. Never thought I would become a real Pascal programmer one day! And believe me, I have always hated the BEGIN..END; constructs and the confusing semi-colon as statement seperator. But I have learned to accept it and now even love it.

SOOO, it all depends on how you look at things and your patience to really get things done. Lazarus is a great effort to bring to the programming world a professional cross-platform RAD tool. It has quite a history and it allows me for the first time to do open-source RAD on Linux!!! THAT is really worth something! Thumbs up for all who contributed to this great and FREE open source software development environment!  :)  ;)
« Last Edit: April 11, 2015, 09:12:53 pm by Artie »
It's only logical.

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Not wishing to Cut Nose/Spite face.
« Reply #4 on: April 11, 2015, 09:02:29 pm »
When using Lazarus LCL I feel exactly the same. It is as if nobody actually uses it to create real programs, and they all overlook the insane amount of .inconsistently between platforms (LCL-GTK2 vs LCL-GTK3 vs LCL-Qt vs LCL-Win32/Win64). I gave up complaining in the mailing list because I got rather rude public (sic) and private replies.
I, personally, like your posts. They might look a troll-like and full of criticism, but their only point is to help improve the existing code.

From my observation:
This is how it works for "real programs".
Whenever a developer needs some functionality from LCL and it doesn't work (as expected or as delphi does). They start posting about the problem. Some one in community will assist them. This is exactly what has been happening in MorbidFractal case and many others.

Patience is the trick. The community (as one my guess) doesn't have a full department of QA.
Testing GUI-related features might also be problematic (due to lack of automation tools). Thus any user of LCL in the end is a tester.

Again, patience and good testing/reporting problems make things to happen.  (example of RichMemo. Kuzja requested a feature to be operational and spent just a couple of days testing it as it was added to the actual implementation)

Alternative approaches are always open:
* silently patch and use the way you like (example of RichMemo. The author of MyNotex Massimo Nardello just modified it to its own need).
* don't use LCL (pascal?) at all!
« Last Edit: April 11, 2015, 09:05:05 pm by skalogryz »

munair

  • Hero Member
  • *****
  • Posts: 887
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: Not wishing to Cut Nose/Spite face.
« Reply #5 on: April 11, 2015, 09:03:43 pm »
Quote
if moving to newer versions fixes the problem then I can cut my wrist off and try it. I am however a bit of a novice and rely on the depositories. That's why I have the version I have at the moment.
When I try to install the deb packages, I am notified that there are older versions in the software repository and that these versions are usually better because of compatibility and stability. But I simply install the latest and on Debian they just work fine.
« Last Edit: April 11, 2015, 11:35:32 pm by Artie »
It's only logical.

zeljko

  • Hero Member
  • *****
  • Posts: 1881
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Not wishing to Cut Nose/Spite face.
« Reply #6 on: April 11, 2015, 09:14:51 pm »
Patience is the trick. The community (as one my guess) doesn't have a full department of QA.
Testing GUI-related features might also be problematic (due to lack of automation tools). Thus any user of LCL in the end is a tester.

+1

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12715
  • FPC developer.
Re: Not wishing to Cut Nose/Spite face.
« Reply #7 on: April 11, 2015, 09:36:44 pm »
I am sick and tired of playing nursemaid to this piece of rubbish.

Just take a look at this page regularly. It does wonders for motivation.

MorbidFractal

  • Jr. Member
  • **
  • Posts: 97
Re: Not wishing to Cut Nose/Spite face.
« Reply #8 on: April 11, 2015, 10:03:38 pm »
Thanks to both Graeme and Martin for the replies.

Bullshit mode on.

I was replying to Graeme's post when Martin popped up. I guess specifically in relation to both I am very much aware of the underlying issues in respect of  'Cross-Compatibility' within the Linux, or rather the cruft that is layered upon it, environment.

As a novice if you.. OK me venture outside of the 'pictures' things appear to be stuffed up 'var' 'etc' 'bin' and within the previous we find

var
 etc
 bin

etc
 var
 bin

bin
 etc
 var

and no doubt someone else has decided to stuff an 'important' file in dev under,

dev
 var
 bin
 etc

Whereby all of the above include all of themselves under themselves. Apparently 'It is Elephants/Turtles all the way Down' and for the rest that might be SimLinks. Presumably that is a 'commondialog.dll' problem. Chuff.

I am not qualified on anything, let alone Linux. As an example I once lost one of the tool boxes under Gimp. Having tried to get it back I gave up and re-installed Gimp.. No joy. Then I was advised that in order to get the toolbar back I had to 'completely' uninstall Gimp. I followed the instructions and trashed the computer.

"Thanks for the request to Uninstall Gimp. I will also Uninstall lots of other stuff Y/n"

"Doh. Um-Kay"

"Thank you very much. Please restart your computer for a Kernel Panic."

Martin..

Obviously Lazarus should be what I want. "Write Once, Compile Anywhere". Being a cheapskate I 'suffer' Linux but might hope to, seamlessly, smear my rubbish on the Windows World.  In my dreams. It is probably best that I should be killed at birth.

I don't know..

Most recent, and has happened in the past, was saving files for a newly started project outside of the original directory... hard to explain. "File You Shall Not Go There Error" or something like that. I had to move stuff somewhere else, scrub the other and use the lpi file to bring things back.

Other than marginally understanding the possible/absolute pain in respect of Linux I really do not think I am helping... Maybe the install should be under,

../home/yourname
  Lazarus
    fpc
    basicstufftomakemeworkmostofthetime
  myprojectfiles

and drag all of its shunt and rest in with it.

just Talking, I know it would not work.

« Last Edit: April 11, 2015, 10:25:28 pm by MorbidFractal »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12202
  • Debugger - SynEdit - and more
    • wiki
Re: Not wishing to Cut Nose/Spite face.
« Reply #9 on: April 11, 2015, 10:34:52 pm »
First of all, I understand, that you have hit a huge mass of problems in a short time, and that is frustrating. Been there myself.
And knowing that the problems may not all be Lazarus does not make it less frustrating.

If installing stuff on linux, or un-installing causes regular issues of its own, I would normally suggest a virtualization (e.g. VirtualBox). Once that is running, you have a playground, that you can snapshot when it is stable, and always easily return to that snapshot. So far so good, in theory. But in real live it is another software to install and to maintain, and to update, and to learn, and .... There just is no easy way.

As for install location, and user rights "File Access Error".

There are guidelines that come with each platform. Where possible Lazarus follows this. And this is why the default is /usr. Installing in /usr/... means it can be used by all users on that machine. (Not much of a benefit if you are the only user). There are tools to install in your home folder (fpcup afaik) but, that is even more to learn, and more that can go wrong.

Just for info, there is a folder  /home/name/.lazarus
It contains all your settings, as well as all files Lazarus needs to create when you run it (so the installation is not modified)

Anyway the above just describes the situation, not much help either.
----------------------------

Quote
Most recent, and has happened in the past, was saving files for a newly started project outside of the original directory... hard to explain. "File Access Error" or something like that.

Well make sure you have the access rights. That is
1) who owns the target folder and what permissions on the folder do you have.
afaik you may need the execute permission on the folder
2) same for he file

Best to create only files and folders in your home, and make sure they are all owned by you.

As for creating files in folders outside the project folder. That is often a very reasonable thing to do.

However if you do that, the project needs to know about the path (lazarus usually asks, if it should add the folder. to the path)
You can let Lazarus add the folder to the path.
EXCEPT if that folder belongs to any package. Then you must add the file to the package and add the package instead.

If you add folders of a package to your project, there is a 99% chance it will screw up.

Another way is, if you want files in separate folders create your own package. it is often the better way.
- Menu Package > New Package
- Save to a new empty folder
- Then in the package window, use the button "Add ...", and there choose "New Unit"

And Lazarus will manage the path and all for you (if you add the package to your project)

bylaardt

  • Sr. Member
  • ****
  • Posts: 310
Re: Not wishing to Cut Nose/Spite face.
« Reply #10 on: April 11, 2015, 11:16:31 pm »
@martin:
Quote
Just a note, there may still be an autosize issue with TScrollbox content, I came across that one myself recently. But I have not entirely checked, if it is anything I did or an actual bug.

See the bug yourself:
Maroon_Scrollbox -> align = alClient
>> Green_Scrollbox (in Maroon)-> align = alleft
>> >> Blue_Scrollbox (in Green)-> align = alTop
>> >> Yellow_Scrollbox (in Green)-> align = alClient  (ERROR)

sysrpl

  • Sr. Member
  • ****
  • Posts: 315
    • Get Lazarus
Re: Not wishing to Cut Nose/Spite face.
« Reply #11 on: April 11, 2015, 11:38:30 pm »
When using Lazarus LCL I feel exactly the same. It is as if nobody actually uses it to create real programs, and they all overlook the insane amount of .inconsistently between platforms (LCL-GTK2 vs LCL-GTK3 vs LCL-Qt vs LCL-Win32/Win64). I gave up complaining in the mailing list because I got rather rude public (sic) and private replies.

Graeme, I know you've worked hard but in all honestly I believe you lack a fundamental understanding of some things. Recently I answered one of your questions on the Lazarus mailings lists which to me seemed a bit absurd coming from you or any person who has used Lazarus or Delphi for more than a month.

You didn't seem to realize there that windowed controls represented a window and painted on a themselves, while graphic controls are child controls painted on their parent window. That is some pretty basic stuff.

You where having troubles with aligning status panels. I thought about answering with a question asking why doesn't you don't just draw the text/images yourself? A trivial solution which would create a better experience all around.

Sure there are inconsistencies in the LCL among platforms, but frequently the solutions are easier to implement than writing a post to a forum or mailing list. I'm left scratching my head wondering why some people get stumped so easily.

And to anyone else who is having problems creating desktop software with Lazarus, what are your problems? I haven't met any basic graphical interface task that isn't easily nicely doable with Lazarus. And with regards to professional looking layouts, it's all a matter of the designer/programmer and not the toolkit. If anything Lazarus makes it easier than any other tool to create superior looking and performing desktop software, mostly because Free Pascal and Lazarus make everything just so damn easy.

sysrpl

  • Sr. Member
  • ****
  • Posts: 315
    • Get Lazarus
Re: Not wishing to Cut Nose/Spite face.
« Reply #12 on: April 11, 2015, 11:42:05 pm »
Also Graeme, here's a video walk through of a real application I wrote using Lazarus. Yes it's possible and not too hard.

http://www.getlazarus.org/videos/reports/

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12715
  • FPC developer.
Re: Not wishing to Cut Nose/Spite face.
« Reply #13 on: April 11, 2015, 11:43:21 pm »
And to anyone else who is having problems creating desktop software with Lazarus, what are your problems?

I have many small potato issues as a result of a general roughness. I know Lazarus pretty much from the start but only use it as an IDE and designer for some production jobs in the last two years.

They hamper my productivity somewhat, but nothing to serious. I only have 3 serious problems that are showstoppers, time and time again:

Debugger, debugger and debugger.

Just 5 minutes ago, I ran a program that regularly throws econvertexception and I ignored the exception. The program hung itself in the IDE, while working fine from the cmdline.
« Last Edit: April 11, 2015, 11:46:09 pm by marcov »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12202
  • Debugger - SynEdit - and more
    • wiki
Re: Not wishing to Cut Nose/Spite face.
« Reply #14 on: April 11, 2015, 11:45:22 pm »
Actually the scrollbox example of yours fails in many ways (there is a range check error)

So yes scrollboxes are currently broken. And according to your project they have been or a while

 

TinyPortal © 2005-2018