Wiki copymirror

This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.

User Changes 2.4.2

About this page

Below you can find a list of intentional changes since the previous release that can change the behaviour of previously working code, along with why these changes were performed and how you can adapt your code if you are affected by them.

All Systems

Language changes

Abstract and Sealed class modifiers

pascal
{$mode objfpc}
type
  TSomeClass1 = class
     abstract: integer;
  end;

  TSomeClass2 = class
     sealed: integer;
  end;

The above code will no longer compile.

Types changes

TObject class declaration

Unit changes

Daemonapp unit moved to new fcl-extras package

DOM unit: no longer uses avl_tree for node search optimization

Note: This is an implementation-only change. Nevertheless, it's worth documenting and explanation.

pascal
// the code like this
uses xmlcfg;
...
begin
  config.WriteString('the/very/long/path/value1', string1);
  config.WriteString('the/very/long/path/value2', string2);
  config.WriteString('the/very/long/path/value3', string3);
  ...
end;

// can be changed to:
uses xmlconf;
...
begin
  config.OpenKey('the/very/long/path');
  config.WriteString('value1', string1);
  config.WriteString('value2', string2);
  config.WriteString('value3', string3);
  config.CloseKey;
end;
// in this example, 'the/very/long/path' will be searched only once rather than 3 times,
// which will improve the performance.

MacOSAll unit: changed parameter types

Sockets unit, sockaddr_in type and aliases

System.TTime

Windows

Microsoft Windows 95 support

Previous release notes


From the Free Pascal wiki, page "User Changes 2.4.2", as it stood on 2020-03-03 after a change by Trev, 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 .