Recent

Author Topic: Lazarus Release Candidate 3 of 1.4  (Read 61101 times)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9791
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #60 on: April 19, 2015, 02:51:25 pm »
Cyrax has identified this bug https://sourceware.org/bugzilla/show_bug.cgi?id=9415 of a space in the path causing the issue. Work around is to use a path without a space.

Code: [Select]
This is not just debugging, it actually stops an application from running in the IDE after it compiles.
Is it just any space? Because I have debugged with spaces in the path to the exe.

But there is a known issue, and it may even be windows itself (though I have no proof).
If a path has a space C:\foo bar\project1.exe
and there is a file or folder  C:\foo

So the file or folder ends exactly where the project has the space.

Their is no known work around.
http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Error_193_.28Error_creating_process_.2F_Exe_not_found.29

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9791
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #61 on: April 19, 2015, 02:57:50 pm »
- look for your blinking caret

Yes, and it is fixed in trunk. Unfortunately not merged to 1.4.
And it would no be a simple merge, as trunk had the caret code entirely refactored.

Basile B.

  • Guest
Re: Lazarus Release Candidate 3 of 1.4
« Reply #62 on: April 19, 2015, 03:51:55 pm »
...Unfortunately not merged to 1.4.
And it would no be a simple merge, as trunk had the caret code entirely refactored.

Then could you recommend me a workaround ? So far i've tried to put some UpdateThis() or UpdateThat() at the end of my overriden MouseWheelProc but it doesn't work. Only a zoom-in/zoom-out seems to restore the caret visibility.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9791
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #63 on: April 19, 2015, 04:03:46 pm »
I will look through the code, and see what can be done in 1.4.1 (1.4 is already being build, so it cant be changed any longer)

In the IDE unfocus/focus the editor. In general, hide the caret and show it again (Options eoNoCaret)

Edit:
The correct fix would be in  components\synedit\syneditpointclasses.pas
Search for FCurrentClippedWidth

The same logic needs to be applied to the clipped height of the Caret.

That are the height/width actually given to CreateCaret. Which differ from the desired values, if the caret is at the edge of the editor.

If you need that in 1.4 please fill a bug report, as I do not know when I will be able to look at it.
« Last Edit: April 19, 2015, 04:31:21 pm by Martin_fr »

SnoopyDog

  • New Member
  • *
  • Posts: 26
Re: Lazarus Release Candidate 3 of 1.4
« Reply #64 on: April 22, 2015, 12:09:01 am »
Hello, i am new to this forum.

I know Delphi and Turbo Pascal very good for many years now and i started to use Lazarus ome months ago.
I just found a little bug in the latest release candidate (and as well in version 1.2.6).

In the component TTabControl (and others, that use the TNBPages class), the property

TTabControl.Tabs.Objects[]  (or equivalent TTabControl.Pages.Objects[])

does not work. This property is normally used to assign user objects to each tab. In the actual code, the method "TNBPages.PutObject" is not implemented and the method "TNBPages.GetObject" returns a reference to "TCustomPage" instance.

What i changed:
  • I added a new private field "FCustomObject : TObject;" to the TCustomPage class
  • I added the method "PutObject" to TNBPages
  • I changed the method implementations for TNBPages.GetObject and TNBPages.GetPage

I attached a patch set for version 1.2.6 and 1.4. It would be great if this fix will be part of the final 1.4 release.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Lazarus Release Candidate 3 of 1.4
« Reply #65 on: April 22, 2015, 12:37:48 am »
In the component TTabControl (and others, that use the TNBPages class), the property
TTabControl.Tabs.Objects[]  (or equivalent TTabControl.Pages.Objects[])
does not work. This property is normally used to assign user objects to each tab. In the actual code, the method "TNBPages.PutObject" is not implemented and the method "TNBPages.GetObject" returns a reference to "TCustomPage" instance.

Is it Delphi compatible? Does Delphi keep Objects[] there?

Quote
I attached a patch set for version 1.2.6 and 1.4. It would be great if this fix will be part of the final 1.4 release.

No you didn't. You copied the whole files.
All development happens in trunk. Making changes for the old 1.2.6 is useless because it will not be developed any more.
To make patches against trunk, read this:
  http://wiki.freepascal.org/Creating_A_Patch

Getting changes into 1.4 release is too late. The release has been tagged already.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Blaazen

  • Hero Member
  • *****
  • Posts: 3237
  • POKE 54296,15
    • Eye-Candy Controls
Re: Lazarus Release Candidate 3 of 1.4
« Reply #66 on: April 22, 2015, 01:32:06 am »
My observation is:

Delphi 7 has no property Pages.

Tabs and Pages are not equivalents. With TTabControl, Pages.Count is always 0.

Otherwise, SnoopyDog is right, in Delphi I can assing any Object to Tabs.Objects[] (just like with TStringList). Lazarus (trunk) cannot do it.
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

SnoopyDog

  • New Member
  • *
  • Posts: 26
Re: Lazarus Release Candidate 3 of 1.4
« Reply #67 on: April 22, 2015, 09:42:10 am »
Yes, i know that i did not create a patch like you mentioned, Juha.

Before i do this, i just wanted to get some feedback because i'm new here... You just need to copy the two files to the lcl and lcl\include and test if it works.
But anyway, i can also try to create an official patch.

eny

  • Hero Member
  • *****
  • Posts: 1634
Re: Lazarus Release Candidate 3 of 1.4
« Reply #68 on: April 22, 2015, 11:15:56 am »
But anyway, i can also try to create an official patch.
Don't bother if it is has been identified as a 'Delphi-incompatibility'.
It will be dismissed.
All posts based on: Win10 (Win64); Lazarus 2.0.10 'stable' (x64) unless specified otherwise...

SnoopyDog

  • New Member
  • *
  • Posts: 26
Re: Lazarus Release Candidate 3 of 1.4
« Reply #69 on: April 22, 2015, 11:58:56 am »
You cant not use the component TTabControl reasonable without this property working correctly - regardless if it's a Delphi incompatibility or not.

vfclists

  • Hero Member
  • *****
  • Posts: 1013
    • HowTos Considered Harmful?
Re: Lazarus Release Candidate 3 of 1.4
« Reply #70 on: April 22, 2015, 01:35:27 pm »
Lazarus 1.4.0 was announced on the mailing list some hours ago. Isn't it going to be announced here too or is Mattias busy? :)
Lazarus 3.0/FPC 3.2.2

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: Lazarus Release Candidate 3 of 1.4
« Reply #71 on: April 22, 2015, 02:20:47 pm »
Quote
Lazarus 1.4.0 was announced on the mailing list some hours ago. Isn't it going to be announced here too or is Mattias busy? :)
1.4 is appear in source forge on 19 April
http://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/


JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Lazarus Release Candidate 3 of 1.4
« Reply #72 on: April 25, 2015, 12:23:42 am »
Before i do this, i just wanted to get some feedback because i'm new here... You just need to copy the two files to the lcl and lcl\include and test if it works.
But anyway, i can also try to create an official patch.

A patch has big benefits over copying whole files.
The feature sounds good and does not break Delphi compatibility. Go ahead with a patch, open a report in bug tracker for it.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

SnoopyDog

  • New Member
  • *
  • Posts: 26
Re: Lazarus Release Candidate 3 of 1.4
« Reply #73 on: August 31, 2015, 10:41:01 am »
A short remark from my side:

Right now, the component "TTabControl" has an Delphi incompatibilty in FPC by default, because the property "Objects" does not work. This is 100% incompatible to Delphi. My changes simply make this property functional and thus Delphi compatible. This is not a nice feature to have, it is an essential thing when you need to port software from Lazarus to Delphi. Of course my change does not break Delphi compatibilty, it establishes Delphi compatibilty ;)

I will try to create an official patch.

Handoko

  • Hero Member
  • *****
  • Posts: 5130
  • My goal: build my own game engine using Lazarus
Re: Lazarus Release Candidate 3 of 1.4
« Reply #74 on: August 31, 2015, 11:00:35 am »
I will try to create an official patch.

It sounds great. Please make it happens on the Lazarus next release.

 

TinyPortal © 2005-2018