Lazarus 4.0 release notes
From Lazarus wiki
Lazarus 4.0 is not yet released. This page is under construction!
LCL Interfaces Changes
LCL Changes
TTaskDialog support for Queries
- Because the unit LCLTaskDialog has been deprecated, the query capabilities of LCLTaskDialog.TTaskDialog have been aded to Dialogs.TTaskDialog, albeit with a slightly different implementation.
- New flag tfQuery: adds a query (in the form of a combobox) to the dialog.
- New property QueryChoices (TStrings): sets the predefined answers.
- New property QueryItemIndex: sets the ItemIndex of the combox and holds said ItemIndex when the dialog is closed.
- New flag tfQueryFixedChoices: control wether or not the user can add his/hers won text to the combobox.
- New property QueryResult: holds the text of the choice made when the dialog closes.
- New flag tfSimpleQuery: adds a simgle line Edit to the dialog. Note: this flag is mutually exclusive with the tfQuery flag.
- New property SimpleQuery: sets the initial text of the Edit.
- Property QueryResult holds the text of the Edit when the dialog closes.
- New flag tfQuery: adds a query (in the form of a combobox) to the dialog.
IDE Changes
Compiler Options
- Added project compiler option for SubTarget
- Added compiler option Write config instead of command line parameters (@). See here
- Added predefined variable Laz_FullVersion to conditionals. See here
Debugger
- Alt + Left-Mouse Gutter click / Ctrl-Alt-F5: Add breakpoint (if not yet set) and ,pen properties of breakpoint.
IDE Interface Changes
Components
Changes affecting compatibility
LCL incompatibility
TTaskDialog
- The implementation of TTaskDialog has been refactored.
- Widgetset specific implementation has been moved to the widgetset.
- The emulated taskdialog has been moved to a new unit: TaskDlgEmulation.
- The unit LCLTaskDialog has been deprecated.
- Remedy: if you use TTaskDialog from (now deprecated) unit LCLTaskDialog, use TTaskDialog from Dialogs unit instead.
- Execute now passes the handle of the active form instead of 0.
- Reason: it makes Execute honour the tfRelativeToWindow flag.
- Remedy: if your code relied on passing 0 as the ParentWind parameter use Execute(0) instead.