[fpc-pascal] TStringList.Put calls change even if value hasn't changed

Michael Van Canneyt michael at freepascal.org
Sun Feb 10 18:08:15 CET 2013

On Sun, 10 Feb 2013, Bart wrote:

> When you do something like
>  StringList1.Strings[Index] := Value
> it calls TStringList.Put().
> I would expect that if Value = Strings[Index] then nothing happens,
> and no Change or Changing are called.

You expect wrong. No supposition is made whatsoever on the value.
Every write in the list triggers a change.

This is how delphi implements it, and that is how we implemented it.


More information about the fpc-pascal mailing list