[fpc-devel] Breaking change in FPC 2.6.1

Marco van de Voort marcov at stack.nl
Tue Apr 24 23:13:26 CEST 2012

In our previous episode, Martin Schreiber said:
> Changing TDataset.Bookmark from TBookmarkStr to TBookmark in fixes_2_6 breaks 
> FPC 2.6.0 compatible code. Is this intended?

Yes. It should not break proper code (since that would already treat it as
abstract type and call freebookmark).

> TBookmark is defined as "Pointer" which has no automatic memory management so 
> probably TDataset.FreeBookmark() must be called in a try finally block for 
> every assignment of TDataset.Bookmark to a variable.
> As intended too?

I first changed it to tbytes (as it is in D2009+), but got some comments that
that was very incompatible, and a lot of method signatures would change. So
I kept it pchar. (planning to change it to tbytes in trunk eventually)

Freebookmark should have been called already, afaik it is at least
since D2006, if not easier, and FPC also implements it quite a while.

More information about the fpc-devel mailing list