Difference between revisions of "Lazarus 0.9.26 release notes"

From Lazarus wiki
Jump to navigationJump to search
Line 2: Line 2:
  
 
This page is work in progress. ''There is no 0.9.26 yet''.
 
This page is work in progress. ''There is no 0.9.26 yet''.
 +
 +
Statistics:
 +
# commits: xxxx
 +
# log: svn log -r 12751:xxxxx
 +
# resolved bug tracker issues: xxx (according to mantis)
 +
  
 
= LCL Interfaces major changes =
 
= LCL Interfaces major changes =

Revision as of 05:46, 11 September 2008

This page gathers the changes of 0.9.25 for the coming release of 0.9.26.

This page is work in progress. There is no 0.9.26 yet.

Statistics:

  1. commits: xxxx
  2. log: svn log -r 12751:xxxxx
  3. resolved bug tracker issues: xxx (according to mantis)


LCL Interfaces major changes

win32/win64

  • Lazarus 0.9.24: Encoding used for strings in the LCL is ansi
  • Lazarus 0.9.26: Encoding used for strings in the LCL is UTF8

LCL major changes

  • new properties TForm.LCLVersion and TFrame.LCLVersion

Every form and frame now saves this property adding version information to the lfm file. This version information can now be used by the IDE to automatically adapt the lfm before loading. This means: If a property is renamed, deleted or its type changed, rules can be added to convert the properties automatically. If an old IDE 0.9.24 opens a lfm of a 0.9.26+ you will get the TReader error, that the property LCLVersion does not exist. Press 'stop loading this resource' and the lfm repair wizard opens. Confirm to remove the unknown properties to load the new form. Or you can use Search / Find in Files' and remove in all .lfm files the LCLVersion: Set Text to find to LCLVersion .*, enable regular expression, where: search in files in project or in directories, set file mask to *.lfm, check replace and set replace text empty then click ok.


  • Graphics (Marc will write):
 - 
 - 
 - TIcon now creates HICON handle and thus we can finally use it to set Form.Icon.
 - new TIcnsIcon class allows to read Mac OSX icon resource files (analog of windows .ico files but for OSX)


  • Greatly improved Carbon widgetset. IDE is working and you can use the form designer.
  • Greatly improved Qt widgetset. IDE is working and you can use the form designer. Though under windows it works a bit unstable.

LCL minor changes

  • TComboBox.OnChange is no longer fired when user selects an item in the popup box. Reason: Delphi compatiblity. Solution: Connect OnSelect or OnEditingDone event.
  • Added TComboBox.OnGetItems. This event is fired when the combobox needs the items. The DropDown event can not be used reliable on all platforms to update the Items.

IDE changes

  • New icons
  • TPropertyEditorHook.GetMethodName now returns an ansistring, instead of a shortstring. AddHandlerGetMethods and RemoveHandlerMethodExists now need ansistring instead of shortstring.
  • Designed Forms can now reference each other. For example a form can reference the database component on a TDataModule. Formerly you could only do it in code. For more details see here.
  • IDE can now open text/source files in other encodings. It tries to guess the encoding and automatically converts them internally to UTF-8. You can change the encoding or via the new menu items of the source editor: popup menu / File Settings / Encoding.
  • Compiler Options Tests now checks for more common misconfigurations. If you got the infamous error 'unit not found', try this first.
  • Compiler Options: Obsolete flags -Sp -S2 -St -So were replaced by a combobox for the -M switch. Mode FPC and MacPas were added.

Components

  • TSynPasSyn.NestedComments is now set automatically by CompilerMode, for example CompilerMode:=pcmObjFPC. The highlighter now reads the $mode directive and switches the CompilerMode and NestedComments properties automatically. This way Delphi and FreePascal code is now automatically highlighted.

Miscellaneous

  • lazbuild: Can now build the IDE with the parameter --build-ide=. You can build the IDE with parameters: ./lazbuild --build-ide=-gh. The installed packages will be rebuilt if needed.