从其它平台迁移而来


2023-03-09,Lazarus 团队宣布发布 Lazarus 2.2.6 版本,这是一个错误修复版本,使用 FPC 3.2.2 构建。

大概在Lazarus 2.2.6发布的第二天吧,就把自己电脑上的Lazarus升级到最新了,一直以来都是这个习惯,基本上从来没怎么关心过具体都更新了哪些内容。

不过,这次心血来潮,把发行日志给大致看了下,看了之后还是有点小收获的,在此记录一二。

版本号

LazarusIDE,最终完成编译的是FPC,两者的版本号管理策略和Linux内核的策略类似。以下为笔者总结,实际的版本号管理策略未考证。

版本号格式如下:

1
[主版本号].[次版本号].[修订版本号]

其中,次版本号修订版本号奇数开发版偶数稳定版

发行日志

Lazarus 2.2.x发行日志原文。可以看到,这是2.2.0的发行日志,并非2.2.6的发行日志,说明这是按次版本号统一整理的。

由于内容较多,而且部分内容笔者也没接触/使用过,所以,只拣熟悉的感觉比较重要的拿出来分享一下。

LazUtils包

移除PasWStr单元

原因:只有当编译器版本低于3.0才包含代码。

补救:不要再使用PasWStr

LCL包

TValueListEditor

旧行为:允许在键列中使用当前的NameValueSeparator(默认情况下:=)。

新行为:不能在列中使用名称值分隔符。如果在列中键入名称值分隔符,焦点将移动到列。如果将其粘贴到列中,它将被删除(没有任何反馈或警告)。

Screen添加了三组新方法

BeginTempCursor / EndTempCursorBeginWaitCursor / EndWaitCursorBeginScreenCursor / EndScreenCursor用于临时光标更改,而不是直接设置Screen.Cursor属性。

TGroupBox,TRadioGroup,TCheckGroup

Win32旧行为:可以设置属性颜色,它直接显示。

Win32新行为:如果要更改颜色,则必须设置ParentBackground := False;

TFrame

Win32旧行为:无法更改TFrame的颜色。

Win32新行为:如果要更改颜色,则必须设置ParentBackground := False;

T(Float)SpinEdit

新增了EditorEnabled属性,以禁用编辑中的直接用户输入。如果设置为False,则用户只能使用微调器或箭头键更改值。

Debugger

LazDebugger-FP (FpDebug) v1.0成为WindowsLinux默认的调试器。

GDB(mo)使用修改版的GDB 9.2

笔者补充:FpDebug无法调试dll,需要使用GDB

组件

OpenGL全面支持Qt5widgetset

TSpinEditEx

新属性ThousandSeparator允许显示插入了千位分隔符的值。

TFloatSpinEditEx

支持以科学计数法形式的文本进行录入。

新属性DisplayMode,用于控制是否使用科学记数法。

新属性property控制以科学记数法显示值时使用的精度。


还有其它许多更改,详细请看原文