Difference between revisions of "User Changes 3.0.4"

From Lazarus wiki
Jump to navigationJump to search
(Initial)
 
Line 19: Line 19:
 
* '''Reason for change:''' Wrong defaults assumptions in 3.0.2, change is more delphi and 3.0.0 compat
 
* '''Reason for change:''' Wrong defaults assumptions in 3.0.2, change is more delphi and 3.0.0 compat
 
* '''Remedy:''' If you only want real name/value pairs, pass an additional empty set parameter to ReadSectionValues. if you need invalid lines and comments please pass [svoIncludeComments,svoIncludeInvalid]
 
* '''Remedy:''' If you only want real name/value pairs, pass an additional empty set parameter to ReadSectionValues. if you need invalid lines and comments please pass [svoIncludeComments,svoIncludeInvalid]
 +
 +
==== DB ====
 +
===== TParam.LoadFromFile sets share mode to fmShareDenyWrite =====
 +
* '''Old behaviour''': TFileStream.Create(FileName, fmOpenRead) was used, which has blocked subsequent access (also read-only) to same file
 +
* '''New behaviour''': TFileStream.Create(FileName, fmOpenRead+fmShareDenyWrite) is used, which does not block read access to same file
 +
* '''Remedy''': If your application requires exclusive access to file specify fmShareExclusive
  
 
== Previous release notes ==
 
== Previous release notes ==

Revision as of 13:34, 21 July 2017

About this page

Listed below are intentional changes made to the FPC compiler (3.0.4) 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

Inifiles

  • Old behaviour: In 3.0.2, TMemIniFile.ReadSectionValues did not read invalid name/value pairs
  • New behaviour: 3.0.4 reads invalid name/value pairs again.
  • Reason for change: Wrong defaults assumptions in 3.0.2, change is more delphi and 3.0.0 compat
  • Remedy: If you only want real name/value pairs, pass an additional empty set parameter to ReadSectionValues. if you need invalid lines and comments please pass [svoIncludeComments,svoIncludeInvalid]

DB

TParam.LoadFromFile sets share mode to fmShareDenyWrite
  • Old behaviour: TFileStream.Create(FileName, fmOpenRead) was used, which has blocked subsequent access (also read-only) to same file
  • New behaviour: TFileStream.Create(FileName, fmOpenRead+fmShareDenyWrite) is used, which does not block read access to same file
  • Remedy: If your application requires exclusive access to file specify fmShareExclusive

Previous release notes