Dear all,
I am testing Lazarus 1.4RC2 r FPC 2.6.4 i386-win32-win32/win64

I got a problem with Ttreeview.
I have a project in which I use a TTreeView with checkboxes. It worked with laz 1.2 fixes branch. I tested a simple project with 1 form, 1 imagelist and 1 ttreeview filled with few items whose state index is set to 0. The stateimages property is set to imagelist1 that is filled on form creation with the following routine found on lazarus forum:

procedure TForm1.FormCreate(Sender: TObject);
var
    aSize: TSize;
    aBMP: TBitmap;
    aDetails: TThemedElementDetails;
    aRect: TRect;
begin
  aDetails:=ThemeServices.GetElementDetails(tbCheckBoxUncheckedNormal);
  aSize:=ThemeServices.GetDetailSize(aDetails);
  ImageList1.Width:=aSize.cx;
  ImageList1.Height:=aSize.cy;
  aBMP:=TBitmap.Create;
  with aBMP do
    begin
      SetSize(aSize.cx, aSize.cy);
      Transparent:=True;
      TransparentColor:=clForm;
      Brush.Color:=TransparentColor;
      Canvas.FillRect(0,0, Width,Height);
    end;
  aRect:=Rect(0, 0, aSize.cx, aSize.cy);
  ThemeServices.DrawElement(aBMP.Canvas.Handle, aDetails, aRect, nil);
  ImageList1.Add(aBMP, nil);
  aBMP.Canvas.FillRect(0,0, Width,Height);;
  aDetails:=ThemeServices.GetElementDetails(tbCheckBoxCheckedNormal);
  ThemeServices.DrawElement(aBMP.Canvas.Handle, aDetails, aRect, nil);
  ImageList1.Add(aBMP, nil);
  FreeAndNil(aBMP);
end;

Starting the project I got a ttreeview with unchecked boxes.
Here the code for click on tree:

procedure TForm1.TreeView1Click(Sender: TObject);
var
  i: integer;
begin
  i:= TreeView1.Selected.Level;
end;


When I click on the checkbox of any treeview node I got a sigsegv error here:

function TTreeNode.GetLevel: Integer;
// root is on level 0
var
  ANode: TTreeNode;
begin
  Result := 0;
  ANode := Parent;              <----
  while Assigned(ANode) do
  begin
    Inc(Result);
    ANode := ANode.Parent;
  end;
end;


Thanks,
Andrea

Il 16/02/2015 23:38, Mattias Gaertner ha scritto:
The Lazarus team would like to announce the first release candidate for the 
upcoming Version 1.4.

We would like to invite all users to test this release candidate.
Please read below why everybody really should join the testing now.

News in this Version
http://wiki.lazarus.freepascal.org/Lazarus_1.4.0_release_notes

On Windows the installer now allows 2 independent installations.
http://wiki.lazarus.freepascal.org/Multiple_Lazarus#Installation_of_multiple_Lazarus

About the release process:
http://wiki.lazarus.freepascal.org/Lazarus_1.4_fixes_branch#Roadmap_to_1.4


The 1.4RC1 is built with fpc 2.6.4.

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

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

Minimum requirements:
Windows:       98, 2k, XP, Vista, 7, 32 or 64bit.
                On 64bit it is recommended to use the 32bit IDE.
                Win98 IDE needs building with flag -dWIN9XPLATFORM.
FreeBSD/Linux: gtk 2.8 or qt4.5, 32 or 64bit.
Mac OS X:      10.5 to 10.10, 10.9+ without IDE debugger (gdb works),
                LCL only 32bit, non LCL apps can be 64bit.


== Why should everybody (including you) test the release candidate? ==

In the past weeks the Lazarus team has stabilized the 1.4 fixes branch. The 
resulting 1.4RC1 is now stable enough to be used by any one for test purposes.

However many of the fixes and new features that where committed since the 
release of 1.2 required changes to the code of existing features too. While we 
have tested those ourself, there may still be problems that only occur with 
very specific configurations or one project in a million.

Yes, it may be that you are the only person with a project, that will not work 
in the new IDE. So if you do not test, we can not fix it.

Please do not wait for the final release, in order to test. It may be too late. 
Once the release is out we will have to be more selective about which fixes can 
be merged for further 1.4.x releases. So it may be, that we can not merge the 
fix you require. And then you will miss out on all the new features.

== How to test ==

Download and install the 1.4RC1.
- On Windows you can install as a 2ndary install, that will not affect your 
current install:
   
http://wiki.lazarus.freepascal.org/Multiple_Lazarus#Installation_of_multiple_Lazarus
- On other platforms, if you install to a new location you need to use 
--primary-config-path

In either case you should make backups. (including your primary config)

Open your project in the current Lazarus (1.2.6), and use "Publish Project" 
from the project menu. This creates a clean copy of your project.

You can then open that copy in the RC1. Please test:
- If you can edit forms in the designer
    - rename components / change properties in Object inspector / Add new events
    - Add components to form / Move components on form
    - Frames, if you use them
- If you can navigate the source code (e.g. jump to implementation)
- Auto completion in source code
- Compile, debug and run
- Anything else you use in your daily work


Mattias

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


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

Reply via email to