Recent

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

zeljko

  • Hero Member
  • *****
  • Posts: 1591
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 1.4
« Reply #15 on: April 08, 2015, 12:39:03 pm »
I have start testing of RC since RC2, I get strange behavior in these versions: I get overlapped icons in TreeView, and I'm using ImageList. In some nodes I get multiple icons drawn at the same time, example attached:
Image list icons attached too.
Anybody get this behavior in these releases?

Maybe you assigned state images and normal images ? AFAIR, there was some change about it ...

munair

  • Hero Member
  • *****
  • Posts: 798
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: Lazarus Release Candidate 3 of 1.4
« Reply #16 on: April 08, 2015, 12:46:36 pm »
Yes you are right, I did not check before I posted.
The base colors do not have a priority.

You can add a feature request, but it will be awhile before I get to it.

It doesn't have to be a feature request. The syntax highlighting engine would only need to switch into string mode once it encounters an opening quote (as it does for the color), disabling any keyword checking until the closing quote.
« Last Edit: April 08, 2015, 12:48:28 pm by Artie »
keep it simple

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: Lazarus Release Candidate 3 of 1.4
« Reply #17 on: April 08, 2015, 12:54:25 pm »
To Juha and Zeljan

This the code of populating the tree.
Note that the same code was working fine for previous versions of Lazarus

Code: [Select]
procedure TAccount.FillBranch(const Accounts: TAccounts; aTree: TTreeView; TreeNode: TTreeNode);
var
  ImgIndex: Integer;
  Node: TTreeNode;
  i: Integer;
  FormattedName: string;
begin

  for i:= 0 to high(Accounts) do
  begin
    FormattedName:= '[' + Accounts[i].AccountCode + '] ' + Accounts[i].AccountName;
    if TreeNode = nil then
      Node:= ATree.Items.Add(TreeNode, FormattedName)
    else
      Node:= ATree.Items.AddChild(TreeNode, FormattedName);

    Node.OverlayIndex:= Accounts[i].AccountID;
    ImgIndex:= 0;
    if Accounts[i].AccountType = 2 then // Branch
    begin
      if accounts[i].ParentAccountID = 0 then
      begin
        if accounts[i].IsPrivate = 1 then
          ImgIndex:= 10 // Private root branch
        else
          ImgIndex:= 9; // Public root branch
      end
      else
        ImgIndex:= 0; // Non root branch
    end
    else // Normal account/leaf
      ImgIndex:= 1;

    Node.ImageIndex:= ImgIndex;
    Node.SelectedIndex:= ImgIndex;
  end;
end;
 

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9755
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #18 on: April 08, 2015, 01:23:11 pm »
It doesn't have to be a feature request. The syntax highlighting engine would only need to switch into string mode once it encounters an opening quote (as it does for the color), disabling any keyword checking until the closing quote.
http://forum.lazarus.freepascal.org/index.php?topic=27991

zeljko

  • Hero Member
  • *****
  • Posts: 1591
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 1.4
« Reply #19 on: April 08, 2015, 03:20:39 pm »
To Juha and Zeljan

This the code of populating the tree.
Note that the same code was working fine for previous versions of Lazarus

Code: [Select]
procedure TAccount.FillBranch(const Accounts: TAccounts; aTree: TTreeView; TreeNode: TTreeNode);
var
  ImgIndex: Integer;
  Node: TTreeNode;
  i: Integer;
  FormattedName: string;
begin

  for i:= 0 to high(Accounts) do
  begin
    FormattedName:= '[' + Accounts[i].AccountCode + '] ' + Accounts[i].AccountName;
    if TreeNode = nil then
      Node:= ATree.Items.Add(TreeNode, FormattedName)
    else
      Node:= ATree.Items.AddChild(TreeNode, FormattedName);

    Node.OverlayIndex:= Accounts[i].AccountID;
    ImgIndex:= 0;
    if Accounts[i].AccountType = 2 then // Branch
    begin
      if accounts[i].ParentAccountID = 0 then
      begin
        if accounts[i].IsPrivate = 1 then
          ImgIndex:= 10 // Private root branch
        else
          ImgIndex:= 9; // Public root branch
      end
      else
        ImgIndex:= 0; // Non root branch
    end
    else // Normal account/leaf
      ImgIndex:= 1;

    Node.ImageIndex:= ImgIndex;
    Node.SelectedIndex:= ImgIndex;
  end;
end;
 

Just for test, try to comment Node.SelectedIndex and see if you have doubled images.

jack616

  • Sr. Member
  • ****
  • Posts: 268
Re: Lazarus Release Candidate 3 of 1.4
« Reply #20 on: April 08, 2015, 03:30:51 pm »
Looks like a lot of work done - thanks guys.


motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: Lazarus Release Candidate 3 of 1.4
« Reply #21 on: April 08, 2015, 04:12:27 pm »
Zeljan
I have commented Node.SelectedIndex, but nothing happens.

when I comment OverlayIndex, duplication problem is gone!

Code: [Select]
//    Node.OverlayIndex:= Accounts[i].AccountID;
« Last Edit: April 08, 2015, 04:16:55 pm by motaz »

zeljko

  • Hero Member
  • *****
  • Posts: 1591
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 1.4
« Reply #22 on: April 08, 2015, 04:17:04 pm »
@motaz, pls open issue about it, create example project and attach it there.

Nicola Gorlandi

  • Full Member
  • ***
  • Posts: 132
Re: Lazarus Release Candidate 3 of 1.4
« Reply #23 on: April 08, 2015, 06:26:43 pm »
Great Job,

I am asking why the project resource management is not available to package option ?

CM630

  • Hero Member
  • *****
  • Posts: 1077
  • Не съм сигурен, че те разбирам.
    • http://sourceforge.net/u/cm630/profile/
Re: Lazarus Release Candidate 3 of 1.4
« Reply #24 on: April 09, 2015, 02:58:18 pm »
I am glad that finally pressing Ctrl+V in the properties editor pastes the tests in the properties editor, but not in the source editor (when anchored docking for the IDE is enabled), like it used to.
Still I have to press F12 twice after each edit in the properties editor.
Besides that I have two problems:
1. Something seems to be wrong in the Win installer. On Win XP I installed this edition as a secondary one and unchecked "associate file extensions", but files got associated with the 1.4RC3 release.
2. One of my apps failed to compile, saying that it cannot finds from C:\lazarus1.4RC3\components\tachart\editors in my project folder. What I did was to copy all files from  C:\lazarus1.4RC3\components\tachart\editors to the folder of my project but with the official release that was not necessary.
Лазар 3,0 32 bit (sometimes 64 bit); FPC3,2,2; rev: Lazarus_3_0 on Win10 64bit.

zeljko

  • Hero Member
  • *****
  • Posts: 1591
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 1.4
« Reply #25 on: April 09, 2015, 05:00:08 pm »
Zeljan
I have commented Node.SelectedIndex, but nothing happens.

when I comment OverlayIndex, duplication problem is gone!

Code: [Select]
//    Node.OverlayIndex:= Accounts[i].AccountID;

Pls, test with patch from http://bugs.freepascal.org/view.php?id=27816 , maybe it helps.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9755
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #26 on: April 09, 2015, 05:01:39 pm »
2. One of my apps failed to compile, saying that it cannot finds from C:\lazarus1.4RC3\components\tachart\editors in my project folder. What I did was to copy all files from  C:\lazarus1.4RC3\components\tachart\editors to the folder of my project but with the official release that was not necessary.

Did it give the full path? Can you copy the exact error? (or better all (shown and hidden) messages?
If this happens again, check for any ppu of tachart in your project folder.

Does your project has any changes to any path setting (on the Project > Compiler Options > Path)?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9755
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 1.4
« Reply #27 on: April 09, 2015, 05:13:38 pm »
1. Something seems to be wrong in the Win installer. On Win XP I installed this edition as a secondary one and unchecked "associate file extensions", but files got associated with the 1.4RC3 release.
Yes this is a known (and forgotten) problem.

It does not work as you expect. The check bok only decides, if a file that is not yet associated with lazarus, will become associated.
It does not remove existing associations.

The problem is, that inno setup always changes the path to the exe to which the existing associations point. So any existing association will always be moved.

IIRC last time i worked on the installer I was not able to find any way to change this. (But if any one knows a way....)

Pascal

  • Hero Member
  • *****
  • Posts: 932
Re: Lazarus Release Candidate 3 of 1.4
« Reply #28 on: April 09, 2015, 05:37:56 pm »
Hello everybody,

i found an error by accident  ;)

File: SourceSynEditor
Function:  TIDESynGutterLOvProviderPascal.HighlightChanged
Line: 1826

Code: [Select]
procedure TIDESynGutterLOvProviderPascal.HighlightChanged(Sender: TSynEditStrings; AIndex,
  ACount: Integer);
var
  hl: TIDESynPasSyn;
  procedure Update(var TheVal: Integer; NewVal: Integer);
  begin
    ...
  end;
var i1,i1e,i2,i2e,i3,i3e,i4,i4e: Integer;
begin
  i1  := FPixInterfaceLine;
  i1e := FPixEndInterfaceLine;
  i2  := FPixImplementationLine;
  i2e := FPixEndImplementationLine;
  i3  := FPixInitializationLine;
  i3e := FPixEndInitializationLine;
  i4  := FPixFinalizationLine;
  i4e := FPixEndFinalizationLine;
  if not(TSynEdit(SynEdit).Highlighter is TIDESynPasSyn) then begin
    FInterfaceLine := -1;
    FInterfaceLine := -1;      <<<<==== This should probably be: FImplementation
    FInitializationLine := -1;
    FFinalizationLine := -1;
  end else begin
    ...                                       

This normaly shouldn't cause any problems.

Regards
Pascal
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)

bylaardt

  • Sr. Member
  • ****
  • Posts: 309
Re: Lazarus Release Candidate 3 of 1.4
« Reply #29 on: April 11, 2015, 07:21:24 pm »
After open a specific project lazarus close.
In the console i got these messages:
Code: [Select]
TApplication.HandleException TControl.InvalidatePreferredSize loop detected Fundo2:TScrollBox Bounds=l=8,t=8,r=793,b=520
  Stack trace:
  $000000000067433B
  $00000000006741BC
  $0000000000673DB1
  $0000000000656A9C
  $0000000000464D72
  $000000000066BA5C
  $00000000006582B1
  $00000000006745FB
  $0000000000BECC75
  $0000000000BEBED2
  $0000000000BD419C
  $0000000000BD2DC3
  $0000000000BE0ADF
  $00000000004A88A5
  $0000000000BE2D96
  $000000000049F31B
  $00000000008C3F50
TControl.DoSetBounds Fundo1:TScrollBox Old=0,0,251,99996 New=0,0,251,100040
ERROR in LCL: TControl.DoSetBounds Fundo1:TScrollBox Invalid bounds
Creating gdb catchable error:

  $000000000054CB6B
  $000000000066733A
  $0000000000666BAF
  $0000000000673DB1
  $0000000000656A9C                                                                                                                                                               
  $0000000000464D72
  $000000000066BA5C
  $00000000006582B1
  $00000000006659E3
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $000000000047F3FC
  $000000000066733A
  $0000000000666BAF
  $0000000000673DB1
  $0000000000656A9C
  $0000000000464D72
  $000000000066BA5C
  $00000000006582B1
  $00000000006659E3
  $0000000000673DB1
  $000000000065C6F5
  $00000000006E6433
  $00000000006F82A0
WARNING: TLCLComponent.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?
[TMainIDE.Destroy] A
WARNING: TLCLComponent.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?
WARNING: TLCLComponent.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?
[TMainIDE.Destroy] B  -> inherited Destroy... TMainIDE
[TMainIDE.Destroy] END
The component

 

TinyPortal © 2005-2018