User Changes 3.0.2

From Lazarus wiki
Jump to navigationJump to search

About this page

Listed below are intentional changes made to the FPC compiler (3.0.2) since the previous release that may break existing code. The list includes reasons why these changes have been implemented, and suggestions for how you might adapt your code if you find that previously working code has been adversely affected by these recent changes.

The list of new features that do not break existing code can be found here.

Please add revision numbers to the entries from now on. This facilitates moving merged items to the user changes of a release.

All systems

Implementation Changes

Unit changes

SysUtils

  • Old behaviour: faSymlink had the numerical value $40. This was wrong on windows, and not compatible with Delphi.
  • New behaviour: faSymlink has the numerical value $400. Correct on windows.
  • Reason for change: Wrong functionality and Delphi compatibility.
  • Remedy: If you are using the old numerical constant $40, simply use faSymlink instead.

Classes

  • Old behaviour: ISTreamAdaptor Interface (classes unit and jwa units) used Int64 for various out parameters.
  • New behaviour: ISTreamAdaptor Interface (classes unit and jwa units) use QWord for various out parameters.
  • Reason for change: The MS Headers use largeUint, which translates to QWord. The headers were for an old version of Delphi, which didn't know QWord.
  • Remedy: If a class implementing this interface no longer compiles, adapt the signature of the interface's methods so they conform to the new definition.


Previous release notes