Lazarus

Announcements => Lazarus => Topic started by: mattias on July 11, 2020, 10:55:58 am

Title: Lazarus Release 2.0.10
Post by: mattias on July 11, 2020, 10:55:58 am
The Lazarus team is glad to announce the release of Lazarus 2.0.10.

Here is the list of changes for Lazarus and Free Pascal:
http://wiki.lazarus.freepascal.org/Lazarus_2.0.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_3.2.0

Windows users should be careful with -O3 or higher optimization, due to bug https://bugs.freepascal.org/view.php?id=37305.

Here is the list of fixes for Lazarus 2.0.x:
http://wiki.freepascal.org/Lazarus_2.0_fixes_branch

The release is available for download on SourceForge:
http://sourceforge.net/projects/lazarus/files/

Choose your CPU, OS, distro and then the "Lazarus 2.0.10" directory.

Checksums for the SourceForge files:
http://www.lazarus-ide.org/index.php?page=checksums#2_0_10

Minimum requirements:

Windows:
  2k, XP, Vista, 7, 8, 8.1 and 10, 32 or 64bit.

FreeBSD/Linux:
  gtk 2.8 for gtk2, qt4.5 for qt, qt5.6 for qt5, 32 or 64bit.

Mac OS X:
  Cocoa (64bit) 10.12 to 10.15, Carbon (32bit) 10.5 to 10.14, qt and qt5 (32 or 64bit).

The svn tag is
http://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_10

For people who are blocked by SF, the Lazarus releases from SourceForge
are mirrored at: ftp://ftp.freepascal.org/pub/lazarus/releases/
Title: Re: Lazarus Release 2.0.10
Post by: nouzi on July 11, 2020, 03:57:02 pm
Thanks for Lazarus and freepascal developers
Title: Re: Lazarus Release 2.0.10
Post by: marcov on July 11, 2020, 04:07:34 pm
Congratulations!
Title: Re: Lazarus Release 2.0.10
Post by: 440bx on July 11, 2020, 04:10:16 pm
Thank you for all the hard work.
Title: Re: Lazarus Release 2.0.10
Post by: howardpc on July 11, 2020, 04:15:17 pm
Many thanks for all the hours put in by the few, to get this latest release to fly for all the rest of us.
We appreciate your hard work.
Title: Re: Lazarus Release 2.0.10
Post by: Martin_fr on July 11, 2020, 04:52:58 pm
Windows users should be careful with -O3 or higher optimization, due to bug https://bugs.freepascal.org/view.php?id=37305.
-O4 can also cause issues due to: https://bugs.freepascal.org/view.php?id=35991
Title: Re: Lazarus Release 2.0.10
Post by: chenyuchih on July 11, 2020, 05:27:15 pm
Thank you the developer guys! I am waiting for this....

Good Job!
Title: Re: Lazarus Release 2.0.10
Post by: eny on July 11, 2020, 05:45:53 pm
Awesome  8-)
Title: Re: Lazarus Release 2.0.10
Post by: Aidex on July 11, 2020, 06:02:35 pm
Thank you for your regular developments!  :)
I noticed that the Windows installer is not signed with a Code Signing Certificate.
Does the project or foundation need money e.g. for such external costs?
So far I have not seen an intensive appeal for donations. Are there any costs the community should participate in?
Title: Re: Lazarus Release 2.0.10
Post by: BlueIcaro on July 11, 2020, 06:21:38 pm
Great job!.
Thanks for all!!
/BlueIcaro
Title: Re: Lazarus Release 2.0.10
Post by: segfault on July 11, 2020, 06:50:12 pm
Awesome! Thanks very much for all your hard work.
Title: Re: Lazarus Release 2.0.10
Post by: kangkoding on July 11, 2020, 08:34:21 pm
Awesome, good job and mantap!
Title: Re: Lazarus Release 2.0.10
Post by: Lulu on July 11, 2020, 08:59:45 pm
HURRA ! Long life for all !  :)
Title: Re: Lazarus Release 2.0.10
Post by: silvestre on July 11, 2020, 10:10:51 pm
Thanks for the good work and effort. :)
Title: Re: Lazarus Release 2.0.10
Post by: RAW on July 11, 2020, 10:13:49 pm
Interesting version ... Thank you very much !
Title: Re: Lazarus Release 2.0.10
Post by: ASBzone on July 12, 2020, 06:55:33 am
Congrats, team...
Title: Re: Lazarus Release 2.0.10
Post by: bonmario on July 12, 2020, 08:03:39 am
Thanks !!!
Title: Re: Lazarus Release 2.0.10
Post by: paweld on July 12, 2020, 09:36:32 am
Thank you very much
Title: Re: Lazarus Release 2.0.10
Post by: willbprog9933 on July 13, 2020, 08:34:52 am
Cheers and thank you so much for your hard work!  :D
Title: Re: Lazarus Release 2.0.10
Post by: mangakissa on July 13, 2020, 09:09:02 am
Great  ;D ;D ;D ;D ;D
Title: Re: Lazarus Release 2.0.10
Post by: MAndreato on July 13, 2020, 09:17:33 am
Thanks to everyone who contributes to making this important software
Title: Re: Lazarus Release 2.0.10
Post by: Igor Kokarev on July 13, 2020, 11:38:24 am
Congratulation for Lazarus and FPC team for your work! Thanks!
Title: Re: Lazarus Release 2.0.10
Post by: avra on July 13, 2020, 03:53:10 pm
Cheetos celebration  ;)
Title: Re: Lazarus Release 2.0.10
Post by: BeniBela on July 13, 2020, 06:52:26 pm
Windows users should be careful with -O3 or higher optimization, due to bug https://bugs.freepascal.org/view.php?id=37305.
-O4 can also cause issues due to: https://bugs.freepascal.org/view.php?id=35991

These releases need better QA and testing.
Title: Re: Lazarus Release 2.0.10
Post by: Ñuño_Martínez on July 13, 2020, 07:23:10 pm
I've seen it fixed the bug that prevents to open the configuration dialog on my Xubuntu. Thanks. ;)
Title: Re: Lazarus Release 2.0.10
Post by: jmnj on July 13, 2020, 08:19:39 pm
 :)  Thank you for all your hard work!  We appreciate it!  :D
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 14, 2020, 09:31:07 am
Windows users should be careful with -O3 or higher optimization, due to bug https://bugs.freepascal.org/view.php?id=37305.
-O4 can also cause issues due to: https://bugs.freepascal.org/view.php?id=35991

These releases need better QA and testing.

We can't find every problem, cause more often than not users think about code that we didn't think about. Though these users don't seem to have used trunk or the 3.2 fixes branch or RC1, cause SEH has been enabled for Win32 for some months now and in Win64 even for the whole lifetime of 3.0!

Also the second bug is a problem of the user (in this case the author of TProcessUTF8) not protecting their code against field reordering (though that had been improved (https://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&root=lazarus&revision=61736) in Lazarus Trunk, but not merged back to 2.0.x).
Title: Re: Lazarus Release 2.0.10
Post by: trev on July 14, 2020, 12:22:26 pm
Someone said these releases needs better testing.
I wholehardedly agree.
This is basically useless...
Reverting to 2.0.8...

Yes, there's always "someone" to blame and that someone is always someone else, eh?  Did you do any testing? Lodge any bug reports against trunk?
Title: Re: Lazarus Release 2.0.10
Post by: JuhaManninen on July 14, 2020, 12:34:13 pm
"Circular Depedency"?
Reverting to 2.0.8...
AFAIK there are no changes in the layout engine between 2.0.8 and 2.0.10.
You can double-check from here :
 https://wiki.freepascal.org/Lazarus_2.0_fixes_branch#Fixes_for_2.0.10_.28merged.29
Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 14, 2020, 12:42:34 pm
1. Seems the problem exists in 2.0.8 as well. Not with "fresh" component, but with existing ones - reuse or redesigning - even when previous anchors are removed.
2. I was not blaming anybody - just hate to fight the tools, rather than solving the problems I need solved. And I am not the one having released this version.
3. I am probably not qualified for testing. Out of date, one could say. And even if I was qualified, I do not have the time.

Definitely not intending to demeaning or criticize all the hard work done.
Title: Re: Lazarus Release 2.0.10
Post by: Martin_fr on July 14, 2020, 02:23:39 pm
3. I am probably not qualified for testing. Out of date, one could say. And even if I was qualified, I do not have the time.
I am replying to this, but not about you. There are many with exactly that answer. "You" in the below, shall refer to all individuals who are unaware of the simplicity.

This is primarily about testing new Fpc, because they have a longer release cycle and that makes it more important.


It is trivial. And quick.

Well I haven't tested it on Linux/Mac. But it should be similar. https://wiki.lazarus.freepascal.org/Multiple_Lazarus#Linux

On Windows, it goes as follow
- Download the test installer that we provide (I made announcements for test builds with the new fpc, before it was released)
- Run it.
- Enter a new directory to install too (i.e. c:\laz_test\ )
- Check "secondary install"
- Next page enter a config dir (i.e. c:\laz_test\conf\ )
Done

- Packages:
Well, ok, if you have lots of packages installed, you need to redo that. That is the one point that may add some extra time. Depends how many of them you test.

- Publish projects:
From your original Lazarus, open your projects, and "Export" them to a new folder. (Project > Publish Project)

- Test:
Then open the published project in the 2ndary install. Compile and test it. Compile with -O1 -O2 -O3 and -O4 if you want (and can afford 3 or 4 minutes extra per project)


How long you think that takes?
If you have 2 or 3 projects, you should be done in under half on hour.  (And compilation and download could be done in the background)

---
How much time, do you spent if you install the update (overwriting your current install), and then things crumble and do not work?


Of course if all your projects depend on 3rd party close-sourced packages that are not available for the test release, then indeed you cannot test your projects.
Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 14, 2020, 09:23:31 pm
Understanding it's not really me you're talking to. ;)

First off, the things you outline here, does not seem to take much time. Tho, being retired, the mind does not spin all that fast - luckily, this does not affect the PC - only the typing speed, and other human aspects.

The main thing about "testing" to me, is actually about reporting the errors or malfunctions found - and I assume probably also a qualified guess, as to why things are NOT functioning - which is the main goal and the main time-consumer, in any form of testing.

I have a hard time checking that my own projects are working as they should - also when used in ways they were not intended to, or exposed to stuff they were not supposed to be exposed to.
Having to do it in several other environments, is not really appealing.
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 15, 2020, 09:43:18 am
The main thing about "testing" to me, is actually about reporting the errors or malfunctions found - and I assume probably also a qualified guess, as to why things are NOT functioning - which is the main goal and the main time-consumer, in any form of testing.

Best leave the guessing of the Why to the professionals who know the inner workings. Already knowing that something goes wrong is the most important part. And of course an explanation what one had done to trigger the problem (which is as important as knowing that something is erratic at all, cause a dev needs to be able to reproduce it to fix it).
Title: Re: Lazarus Release 2.0.10
Post by: calebs on July 16, 2020, 05:43:15 am
Hello all. I think i've encountered a bug with 2.0.10 I've tried to install UECONTROLS from the online package manager but fails when tried to compile BCGRABITMAP.
I didnt have this problems with 2.0.8 or any previous version.
Other components installs fine (zeosdbo, lnet, uniqueinstance and a few more)
Previously i've uninstaled 2.0.8, and cleaned lazarus folder on appdata manually.
Im using windows 10 pro x64 1909 and installed lazarus 2.0.10 x86.
Downloading manually BCGRABITMAP and BCGRACONTROLS and tried to install them gives error on FFont.CharKerning function, appearently didn't recognize it

Thanks and keep good work and sorry for my bad english!
Title: Re: Lazarus Release 2.0.10
Post by: nachoap on July 17, 2020, 09:48:36 am
Great! I'll try it.

I'm working with previous version, 2.0.8, so I'll install 2.0.10 as a secondary installation and I'll try to compile my apps.

Thank you very much!!!
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 17, 2020, 01:12:07 pm
Downloading manually BCGRABITMAP and BCGRACONTROLS and tried to install them gives error on FFont.CharKerning function, appearently didn't recognize it

Use the most current version, that was recently fixed.
Title: Re: Lazarus Release 2.0.10
Post by: Dan3468298 on July 17, 2020, 03:41:14 pm
Just upgraded to 2.0.10 on MacOS.  Everything went smoothly.  Thanks!
Title: Re: Lazarus Release 2.0.10
Post by: Igor Antić on July 18, 2020, 08:39:34 am
This is how I have a problem with TDateTimePicker and Lazarus 2.0.10. version i368-win32-win32/win64.
The problem is that when I put the value NULL on the TDateTimePicker property DATE, the project will not be translated-executed, as the error states "Error reading DateTimePicker1.Date: Floating point overflow"
While in Lazarus version 2.0.10 x86_64-win64-win32/win64 works fine.

OS windows 10 x64
Title: Re: Lazarus Release 2.0.10
Post by: Zoran on July 19, 2020, 01:11:57 pm
This is how I have a problem with TDateTimePicker and Lazarus 2.0.10. version i368-win32-win32/win64.
The problem is that when I put the value NULL on the TDateTimePicker property DATE, the project will not be translated-executed, as the error states "Error reading DateTimePicker1.Date: Floating point overflow"
While in Lazarus version 2.0.10 x86_64-win64-win32/win64 works fine.

OS windows 10 x64

You should have opened another thread for TDateTimePicker problem.

Anyway, NULL is a variant constant.
You should use NullDate constant from DateTimePicker unit:
Code: Pascal  [Select][+][-]
  1. DateTimePicker1.Date := DateTimePicker.NullDate;

While in Lazarus version 2.0.10 x86_64-win64-win32/win64 works fine.
If NULL appears to work fine, it's by accident. Just use NullDate.

And to test if a DateTimePicker control has Null value you can use either IsNullDate function or DateIsNullMethod of TDateTimePicker:
Code: Pascal  [Select][+][-]
  1. if IsNullDate(DateTimePiker1.Date) then
  2.   ...
  3.  
  4. // or
  5. if DateTimePiker1.DateIsNull then
  6.   ...
  7.  

If this does not solve your problem, please don't continue here, but open a new thread.

Regards,
Zoran
Title: Re: Lazarus Release 2.0.10
Post by: WladimirKowtun on July 19, 2020, 08:33:05 pm
Thank you very much for maintaining this project. I have been studying Free Pascal for a few weeks; and every day I fall more in love with the language and the Lazarus IDE.  :)
Title: Re: Lazarus Release 2.0.10
Post by: furious programming on July 19, 2020, 10:50:46 pm
Anyway, NULL is a variant constant.

Null is not a constant — it is a function that returns cleared variant with set the type to varnull:

Code: Pascal  [Select][+][-]
  1. function Null: Variant;
  2. begin
  3.   VarClearProc(TVarData(Result));
  4.   TVarData(Result).VType := varnull;
  5. end;
Title: Re: Lazarus Release 2.0.10
Post by: Zoran on July 20, 2020, 04:32:56 pm
Anyway, NULL is a variant constant.

Null is not a constant — it is a function that returns cleared variant with set the type to varnull:

Code: Pascal  [Select][+][-]
  1. function Null: Variant;
  2. begin
  3.   VarClearProc(TVarData(Result));
  4.   TVarData(Result).VType := varnull;
  5. end;

As there are no variant consts, it is just a parameterless function which always returns the same value.
Not a constant at all. ::)
Title: Re: Lazarus Release 2.0.10
Post by: VTwin on July 20, 2020, 08:32:17 pm
Excellent, many thanks!
Title: Re: Lazarus Release 2.0.10
Post by: furious programming on July 20, 2020, 10:10:54 pm
As there are no variant consts, it is just a parameterless function which always returns the same value.

It doesn't matter — a function is a function, and a constant is a constant, and these concepts must not be mixed up, because they describe two very different things. Incorrect nomenclature misleads the readers, so I advise against this type of simplification.

Or just look to the docs, if you don't know what the Null is. 8-)
Title: Re: Lazarus Release 2.0.10
Post by: ssap on July 20, 2020, 10:24:58 pm
The release 2.10 seem an excellent work.
but I compiled my code, with a lot of numerical issues. and tehst on may own benchmark
It compile well with lazarus 2.10 IDE and fpc 3.20 64 bit code..
but the difference with the fpc 3.0.4 is amazing..
The final numerical result is the same but the time to complete the process requires 145 second with fpc 3.0.4 (inside lazarus IDE 2.0.8 )
and 240 seconds with fpc 3.2.0   (inside lazarus 2.10)
the compiling instruction are the same for  both compiler (given in project option and without optimization)
Title: Re: Lazarus Release 2.0.10
Post by: ASBzone on July 20, 2020, 10:38:22 pm
The release 2.10 seem an excellent work.
but I compiled my code, with a lot of numerical issues. and tehst on may own benchmark
It compile well with lazarus 2.10 IDE and fpc 3.20 64 bit code..
but the difference with the fpc 3.0.4 is amazing..
The final numerical result is the same but the time to complete the process requires 145 second with fpc 3.0.4 (inside lazarus IDE 2.0.8 )
and 240 seconds with fpc 3.2.0   (inside lazarus 2.10)
the compiling instruction are the same for  both compiler (given in project option and without optimization)


Is that the first time you compiled the code?    Or after multiple compilation attempts?
Title: Re: Lazarus Release 2.0.10
Post by: jamie on July 20, 2020, 10:56:40 pm
I've been running into some  disappointments of my own with 3.2.0..

 Code failures and code lard with no regard of efficiency and speed.

 I've already seen some changes in the math code that are unwarranted and frankly has larded up the app with  more code and slower speeds.

 I know I am starting a fire storm with that but that's my opinion. I don't think 3.2 is ready for serious use and to think they are using it to work on the next compiler.

 is it possible to get 2.10 released with 3.0.4 ?

Title: Re: Lazarus Release 2.0.10
Post by: Bart on July 20, 2020, 11:04:15 pm
You can simply rebuild your Lazarus with 3.0.4 if you want.

Bart
Title: Re: Lazarus Release 2.0.10
Post by: Zoran on July 20, 2020, 11:07:52 pm
is it possible to get 2.10 released with 3.0.4 ?

Yes: https://forum.lazarus.freepascal.org/index.php/topic,50298.msg366809.html#msg366809 (https://forum.lazarus.freepascal.org/index.php/topic,50298.msg366809.html#msg366809)
Title: Re: Lazarus Release 2.0.10
Post by: trev on July 21, 2020, 02:12:49 am
I've been running into some  disappointments of my own with 3.2.0..
Code failures and code lard with no regard of efficiency and speed.
 I've already seen some changes in the math code that are unwarranted and frankly has larded up the app with  more code and slower speeds.

Have you lodged any bugs then? If you don't, your issues will never be resolved.
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 21, 2020, 09:07:19 am
Have you lodged any bugs then? If you don't, your issues will never be resolved.

Correct. "Bug reports or it didn't happen." We have enough on our plate as it is and can't hunt for such assumptions ourselves.
Title: Re: Lazarus Release 2.0.10
Post by: avra on July 21, 2020, 11:14:29 am
I don't think 3.2 is ready for serious use and to think they are using it to work on the next compiler.
I remember similar comments when jump was made from 2.6 to 3.0  :D
Title: Re: Lazarus Release 2.0.10
Post by: marcov on July 21, 2020, 11:17:28 am
I don't think 3.2 is ready for serious use and to think they are using it to work on the next compiler.
I remember similar comments when jump was made from 2.6 to 3.0  :D

Every version. Especially getting people to abandon 1.0 was difficult With any change there are winners and losers. The losers didn't properly test RC1 and file bugreports ;-)
Title: Re: Lazarus Release 2.0.10
Post by: jamie on July 21, 2020, 12:59:18 pm
I will report what find when find a way to present it.

I have 3 dll files that does heavy processing of fft and with 3.2 they have become fatter and slower.

 On top of that some of the results are wrong where as the results are correct in 3.0.4
I believe it may have something to do with shift operators as for errors.

 The code complies without change but does not work and does not crash, just generates bad data.

It's hard to debug Dll's .
So I am using 3.0.4 generated files which works.
I will report it when I find the problem otherwise I am not clogging up the place half baked thories and hacks.
Title: Re: Lazarus Release 2.0.10
Post by: Martin_fr on July 21, 2020, 04:24:25 pm

It's hard to debug Dll's .
So I am using 3.0.4 generated files which works.
I will report it when I find the problem otherwise I am not clogging up the place half baked thories and hacks.

At least on Windows, it should work (using gdb based debugger). The only part that can be problematic is catching exceptions/raise.

Make sure to compile the dll with debug info.
Specify your "host application"  under "run parameters". Make sure the host app can see the dll (i.e. dll is in same folder).

Catching raise/except in the DLL, should work if you strip the host app of all symbols.
With Lazarus trunk it may also work (not tested) if you set the debug option "InternalExceptionBreakSetMethod" to "ibmName".

Breakpoints in the dll should work (they should have a pause symbol, until the dll is loaded. Then they should show the normal symbol. (On older gdb (7.x?), the pause symbol remains)

Title: Re: Lazarus Release 2.0.10
Post by: martijnn on July 22, 2020, 12:06:35 pm
Reporting installation success of Lazarus 2.0.10 / FPC 3.2 on Win2K. Thanks for the efforts of still providing an installer for that platform. Initially I picked the default (x86_64) installer and didn't even notice that until the very end (fpcmkcfg.exe "not a valid win32 application").

Did a quick compile of some key projects and most went smooth.

Thanks team. Keep up the good work!
Title: Re: Lazarus Release 2.0.10
Post by: circular on July 22, 2020, 02:06:47 pm
Hello,

We have encountered a PPU checksum problem when trying to build Lazarus with cleanup option and with the following packages: BGRAControls and BGLControls. Here is the discussion: https://forum.lazarus.freepascal.org/index.php/topic,24176.msg370399.html#msg370399

Note that both of these packages use BGRABitmap and that the checksum problem is related to BGRABitmap / BGRABitmapTypes units.

Regards

EDIT: more general thread about it
https://forum.lazarus.freepascal.org/index.php/topic,50620.0.html
Title: Re: Lazarus Release 2.0.10
Post by: EganSolo on July 22, 2020, 05:58:09 pm
I may be missing something but how do I find the changes specific to 2.0.10? The Lazarus 2.0.0 release notes seem to be an aggregate of all the changes but there does not seem to be a specific list of the latest changes... What am I missing?
Title: Re: Lazarus Release 2.0.10
Post by: ASBzone on July 22, 2020, 06:58:00 pm
I may be missing something but how do I find the changes specific to 2.0.10? The Lazarus 2.0.0 release notes seem to be an aggregate of all the changes but there does not seem to be a specific list of the latest changes... What am I missing?

Take a look at the Merge Requests, which will outline what fixes/changes went into each minor release:  https://wiki.lazarus.freepascal.org/Lazarus_2.0_fixes_branch (https://wiki.lazarus.freepascal.org/Lazarus_2.0_fixes_branch)
Title: Re: Lazarus Release 2.0.10
Post by: segfault on July 23, 2020, 02:39:28 pm
Is anyone experiencing very slow response times when running the executable or loading functions such as search/replace? Sometimes it takes 20 seconds or more for the IDE to respond. It seems to be getting worse with time. I'm using the Linux64 version.
Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 23, 2020, 07:32:52 pm
DragDrop issue.
Had a project in 2.0.8 with Drag/Drop operations, that ended up functioning great.
Now With 2.0.10 I need to do something similar (with the same user created controls) - and it doesn't function at all.
So fetched my old project recompiled - and it doesn't function any longer, either.

Seems the call to BeginDrag, that should Initiate the dragging with either the dragged control or a TDragObject actually uses the Form as a drag object.
The Source parameter of DragOver (and probably DragDrop) events, is the form.
Can't test Drop, as a drop will never be accepted, when the Source is the form.

Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 23, 2020, 09:25:02 pm
Ans it doesn't seem to be the only problem with DragDrop in Lazarus 2.0.10 FPC 3.2.0
Apparently TControl no longer has a FDragCursor variable - see image...
I tried  commenting out the first line; seems a little overkill to ask for the same value instead of just setting it (- unless the comparison is a lot faster than than simply assigning a value, I don't know)...
But it - not surprisingly - simply causes the error to move to line 3409...
Title: Re: Lazarus Release 2.0.10
Post by: Martin_fr on July 23, 2020, 10:01:01 pm
"cannot access memory at adders 0x164"

Any value that low (below the sizeOf(TControl) ) means that "self" is nil.
Check the callstack
Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 24, 2020, 12:03:38 pm
OK - thx
Title: Re: Lazarus Release 2.0.10
Post by: JuhaManninen on July 24, 2020, 12:55:13 pm
@Birger52, if that really is a regression bug introduced between Lazarus 2.0.8 and 2.0.10, we should find the guilty revision.
Can you please study it from the fixes_2_0 SVN branch.
I cannot see any revisions directly dealing with DragDrop.
 https://wiki.freepascal.org/Lazarus_2.0_fixes_branch#Fixes_for_2.0.10_.28merged.29
Title: Re: Lazarus Release 2.0.10
Post by: Birger52 on July 24, 2020, 04:15:11 pm
I have no idea what you're asking.

All I can do is to determine, that things were functioning in 2.0.8 - and they don't in 2.0.10.
Imagine there may be a million places, things can go wrong.

But I can give you some details.

Control ClipCont is derived from TPanel. Basically a userdrawn panel of a TStringList, with a scrollbar, determining which texts to draw.
Starting drag is done like this:
Code: Pascal  [Select][+][-]
  1. procedure TmyStripPlayForm.SetDragStart(aX,aY:integer); // called at mousedown
  2. begin
  3.   mdX := aX;
  4.   mdY := aY;
  5. end;
  6.  
  7. procedure TmyStripPlayForm.ClipContMouseMove(Sender:TObject;Shift:TShiftState;X,Y:Integer);
  8. begin
  9.   if (ssLeft in Shift) and (mdX > -1) and (mdY > -1) then begin
  10.     if Abs(mdX - X) + Abs(mdY - Y) > 5 then begin
  11.       DragCtrl := ClipCont;
  12.       DragCtrl.BeginDrag(true);
  13.     end;
  14.   end;
  15. end;
  16.  

The use of DragCtrl is nescessary, as Source in DragOver is otherwise the form containing the panels - which is not usefull, and it wasn't like that in 2.0.8 - it was the actual control starting the drag.
DragCtrl is a public var in the Form class.

Following the start of the Drag operation, DragOver is called on the same control that starts the Drag.

Code: Pascal  [Select][+][-]
  1. procedure TmyStripPlayForm.ClipContDragOver(Sender,Source:TObject;X,Y:Integer;State:TDragState;var Accept:Boolean);
  2. var
  3.   dtTyp : byte = dtNone;
  4.   crCur : TCursor;
  5. begin    // Drag over text-Listen af clips
  6. {
  7.   if ((Source = ClipCont) and (ClipCont.SelectedIndex <> ClipCont.DropIndex)) or
  8.      ((Source = ClipImgCont.HeaderLabel) and (ClipImgCont.Selected <> ClipCont.DropIndex)) then
  9.     dtTyp := dtMove or dtExch
  10.   else if (Source = AutoImgCont.HeaderLabel) or (Source = HistoryListCont.HeaderLabel) then
  11.     dtTyp := dtCopy;
  12. }
  13.   if ((DragCtrl = ClipCont) and (ClipCont.SelectedIndex <> ClipCont.DropIndex)) or
  14.      ((DragCtrl = ClipImgCont) and (ClipImgCont.Selected <> ClipCont.DropIndex)) then
  15.     dtTyp := dtMove or dtExch
  16.   else if (DragCtrl = AutoImgCont) or (DragCtrl = HistoryListCont) then
  17.     dtTyp := dtCopy;
  18.   crCur := GetDragCursor(dtTyp);
  19.   TDragControl(DragCtrl).DragCursor := crCur;
  20.   Accept := crCur <> crNoDrop;
  21. end;
  22.  
where
Code: Pascal  [Select][+][-]
  1.   TDragControl = class(TControl)
  2.   published
  3.     property DragCursor;
  4.   end;
  5.  
{commented out code is the code that functioned in 2.0.8.}
The line that causes the problem is here line 19:
DragCtrl is no longer set, for some reason. (and it was Source in the original 2.0.8, and it did not give any runtime errors).
I have debugged MouseMove, and DragCtrl IS set as it should be.
I have tried to debug DragOver - and at least the first time, DragOver is called, DragCtrl IS set, and pointing to the Control that initiate the dragging.
My programming do nothing to unset DragCtrl - except when ending the drag, when it is set to nil.
If the drag has been ended, DragOver should not be called. (Debugging, execution doesn't get to where it is set to nil.)
And besides - Once the drag is initiated, it is the drag Manager that controls what is happening, and no code of mine - except DragOver and DragDrop event handlers - should be called.

Title: Re: Lazarus Release 2.0.10
Post by: hieroliu on July 26, 2020, 06:56:43 am
Lazarus release package based on FPC3.2, this is an exciting time! 8)

We all know that the team has paid a lot and worked hard!

But found a problem, this release package cannot compile the IDE environment of sparta_dockedformeditor.
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 26, 2020, 10:51:09 pm
But found a problem, this release package cannot compile the IDE environment of sparta_dockedformeditor.

See here (https://forum.lazarus.freepascal.org/index.php/topic,50528.msg368954.html#msg368954) for a solution. We should really pin that thread or at least its solution...
Title: Re: Lazarus Release 2.0.10
Post by: MSGEndoDoc on July 27, 2020, 08:59:31 am
Please help
Having trouble rebuilding Lazarus 2.0.10 after installing new components,  with the following compile error on the IDE rebuild. 

     Warning: svn not in path
     Warning: Recompiling chmreader, checksum changed for C:\lazarus\components\sparta\generics\lib\x86_64-win64\generics.collections.ppu
     chmreader.pas(80,12) Fatal: Can't find unit chmreader used by ChmLangRef

The file chmreader.pas is tn the "C:\lazarus\fpc\3.2.0\source\packages\chm\src" directory. 

How to fix this. 

Cheers,

Martin
 
Title: Re: Lazarus Release 2.0.10
Post by: PascalDragon on July 27, 2020, 09:06:50 am
Please see my post directly above yours.
Title: Re: Lazarus Release 2.0.10
Post by: MSGEndoDoc on July 27, 2020, 09:19:27 am
I just worked out myself it was the Sparta_dockedformeditor.   The installation is working well without it. 
Title: Re: Lazarus Release 2.0.10
Post by: yzsdn on August 11, 2020, 05:04:34 pm
Thanks to the developers, I hope Lazarus will be more powerful in the future
Title: Re: Lazarus Release 2.0.10
Post by: avra on August 11, 2020, 09:46:39 pm
I just worked out myself it was the Sparta_dockedformeditor.   The installation is working well without it.
There are other packages that use sparta generics package so sooner or later you will again face the PPU problem. If you follow the PascalDragon's fix then you can use both embedded form designer and other packages using sparta generics without problems. More info:
https://forum.lazarus.freepascal.org/index.php/topic,46755.msg373317.html#msg373317
TinyPortal © 2005-2018