Sign in Join
Wiki copytemporary

Revision 1 of 3, by Trev on 3-3-2020. The page as it is now.

User Changes 2.2.4

About this page

Below you can find a list of intentional changes between the the 2.2.2 release and the 2.2.4 release which 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

Default property values

pascal
type
  tenum = (ea,eb,ec);
  tc = class
   private
    fmybool: boolean;
    fenum: tenum;
   published
    property mybool: boolean read fmybool write fmybool;
    property enum: tenum read fenum write fenum;
  end;

var
  c: tc;
begin
  c:=tc.create;
  // write c to a stream
end.

In earlier versions, mybool nor enum would be written to the stream in this case, while now they will be.

pascal
type
  tenum = (ea,eb,ec);
  tc = class
   private
    fmybool: boolean;
    fenum: tenum;
   published
    property mybool: boolean read fmybool write fmybool default false;
    property enum: tenum read fenum write fenum default ea;
  end;

db unit: TField*.*Size type

db unit: TField*.Lookup property is not published anymore

All Unix-based systems

Executing external programs using TProcess

Non-x86 and non-linux/ppc64 systems

Floating point rounding

pascal
begin
  write(round(-2.5),' ');
  write(round(-1.5),' ');
  write(round(-0.5),' ');
  write(round(0.5),' ');
  write(round(1.5),' ');
  writeln(round(2.5));
end.

The above program used to print:

 -3 -2 -1 1 2 3

Now it will print:

 -2 -2 0 0 2 2

Windows Platforms

Functions removed from the Windows unit


From the Free Pascal wiki, page "User Changes 2.2.4", 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.