Sign in Join
Wiki copytemporary

Lazarus 1.6.0 release notes

Lazarus 1.6 was released at February 18, 2016.

Statistics:

  1. commits: 2683
  2. log: svn log -r 47337:50707

LCL Interfaces Changes

LCL Changes

IDE Interfaces Changes

IDE Changes

Components

LazControls

Codetools

Project Groups

Docked Form Editor

The package implementing a docked form editor can be found in components/sparta/dockedformeditor/sparta_dockedformeditor.lpk. It makes the most sense with Anchor Docking but can be used also without it.

IMPORTANT: the docked form editor is included in 1.6 but is not stable there and has known bugs that affect its usage. Please do not report issues based on your 1.6 experience but always check against the current trunk where the designer has been improved further. Docked editor bug fixes won't be merged into 1.6 since a lot of them were OS/WS dependent and the LCL code had to be changed as well.

If you want to use the docked form editor, you have to use complete Lazarus trunk. Copying the sparta packages from trunk into your 1.6 fixes won't work.

Package Tabs

Favorites

Debugger / win 32

The version of gdb shipped with the win32 installer was updated to 7.7.1

PRO:

REGRESSIONS

:* records may be displayed as class and vice versa

:* pointer to record may be dereferenced without warning (hiding the fact that a value is a pointer)

:* shortstrings may not display correct (they are internally encoded as record)

Changes affecting compatibility

LazUtils

SysToUTF8 does not convert

Similar: AnsiToUTF8

UTF8ToSys does not convert

Similar: UTF8ToAnsi

CopyFile behaviour changed

Wrappers for string functions are deprecated

Various units in LCL, LazUtils and Codetools have wrappers for string functions in LazUTF8 and LazFileUtils. They are now deprecated and the hint after "deprecated" tells where the actual function can be found. The wrappers can be completely disabled by defining "DisableWrapperFunctions".

LCL incompatibilities

QuestionDlg modal result on close by ESC key and system close button changed

Other Packages and Components

AnchorDocking improved

SynMemo is now Deprecated

Any code referring to SynMemo will now give a warning about this.

However SynMemo is still a registered component, and if you open any project already containing a SynMemo it will load correctly.

If you must have an IDE with SynMemo on the component palette, you can compile the IDE with WithSynMemo defined. This is temporary, and will be removed at some point after the release.

SynMemo was nearly identical to SynEdit (except it did publish less properties).

It only featured 2 extra method:

   function CharIndexToRowCol(Index: integer): TPoint;   
   function RowColToCharIndex(RowCol: TPoint): integer;  

Those are now available in SynEdit. However with a strong warning

   experimental; deprecated 'SynMemo compatibility - very slow / SynEdit operates on x/y';

It is highly recommended not to use them. The calculation in those methods was always done without taking in account trailing spaces (if trim trailing spaces was active). This may have lead to wrong results.

A common use case for those methods was apparently:

- Get the caret position as CharIndex.

- Insert some text

- Add the text length to the CharIndex

- Set the caret position from the CharIndex

If setting the text changed trailing spaces (e.g. text was appended at the end of line, behind some trailing spaces, which then would not be trailing any more) then the calculation would not be correct.

Yet if the 2 methods would include trailing spaces, it could equally go wrong. If between getting the caret position, and restoring it any trailing spaces where trimmed, then the restore is wrong.

For this reason, and for the fact that they are extremely inefficient (slow) their use is not recommended.

To archive caret adjustment in SynEdit, use InsertTextAtCaret, TextBetweenPointsEx or SetTextBetweenPoints, which all have the option of adjusting the caret.

TSynEditExporterHtml behaviour has changed

Output is now controlled by the property Options

The property CreateHTMLFragment is deprecated and will be removed in a future release

ExportAsText now only affects how the exportbuffer is put on clipboard

More options than CreateHTMLFragment were needed

The comments in the parentclass (TSynEditExport) state that this property controls the way the export buffer is put onto the clipboard

Use Options property to control the output.

Remove references to CreateHTMLFragment

TSynCustomHighlighter.GetIdentChars implementation has changed

The new character array better suits most uses.

EasyDocking isn't supported in the IDE anymore

You cannot install easydockmgr and easydockmgrdsgn in the IDE anymore. Use AnchorDocking instead. easydockmgrdsgn package was removed from 1.7.

IDE incompatibilities

Previous release notes


From the Free Pascal wiki, page "Lazarus 1.6.0 release notes", as it stood on 2020-08-08 after a change by Arent, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.