[fpc-devel] Opening FPC base classes

michael.vancanneyt at wisa.be michael.vancanneyt at wisa.be
Mon Jul 23 17:29:28 CEST 2012

On Mon, 23 Jul 2012, Martin Schreiber wrote:

> On Monday 23 July 2012 15:31:42 michael.vancanneyt at wisa.be wrote:
>> I don't see why you cannot do the same. It's perfectly possible to use the
>> streaming system for both TComponent and other classes. All it takes is
>> RTTI, which happens to be enabled in TPersistent.
> Because of integration of third party components. But you are probably right,
> it seems to be the time to leave FCL compatibility. The design of
> TPersistent/TComponent and the whole classes unit has been made by Borland so
> that it made the development of a concurrent IDE to Delphi as difficult as
> possible.

I've never seen it as such. There is nothing special about the classes unit.
It uses available RTTI in a certain way, that's it.

You're free to create a system that uses the same RTTI in a completely
different way, and build an eco system around this.

That you then cannot use code that expects the functionality of the classes 
unit, is a consequence you must accept.

> I hope Free Pascal has not the same attitude. ;-)

Well, for starters, I don't draw the same conclusion as you:

You don't need to leave compatibility behind. IMO it is perfectly possible to
design a streaming system that streams both TComponents as non-TComponents,
given a few small changes to TFiler. That would allow you to re-use
third-party TComponent descendents and still offer all the things you need
in msegui/mseide.

I see that as a useful extension, and you can always ask for changes that
would make this possible.


More information about the fpc-devel mailing list