[fpc-devel] TIniFile with option ifoWriteStringBoolean

Michael Van Canneyt michael at freepascal.org
Wed Mar 16 13:42:57 CET 2022



On Wed, 16 Mar 2022, Bart via fpc-devel wrote:

> Hi,
>
> User Nimral in the wiki noted this:
> If you specify ifoWriteStringBoolean in Options for TIniFile _and_ you
> forget to assign values to BoolTrueStrings/BoolFalseStrings, then
> writing and reading boolean values is not symmetrical.
> Writing a boolean will write either 'true' or 'false', but reading
> calls CharToBool on the found string.
>
> Consider this piece of code:
>  Ini := TIniFile.Create('test.ini');
>  Ini.Options := [ifoWriteStringBoolean]; //[ifoWriteStringBoolean]

It does not say ifoReadStringBoolean or ifoReadWriteStringBoolean for a
reason. So the behaviour is as designed.

The behaviour was introduced for compatibility with other development
environments.

Which is not to say that we cannot change the behaviour.

See
https://gitlab.com/freepascal.org/fpc/source/-/issues/39625

Michael.


More information about the fpc-devel mailing list