On 26.03.2011 14:44, Florian Klaempfl wrote:
Am 25.03.2011 22:33, schrieb Sven Barth:
2. In Delphi helpers are based on classes and in FPC they are a seperate
type. I've choosen the later, because it has reduced the need for some
checks and also simplified the code.
I noticed the difference when checking the RTTI parent reference of a
class helper (I had already checked that it is of type tkClass, but
haven't thought more about it): the result was that all helpers (class
and record) inherit from a class TClassHelperBase which in turn inherits
from TInterfacedObject.
What does prevent you to mimic this behaviour?
I hope you mean to only mimic this exact RTTI case...
I'd need to add a Delphi compatible "TClassHelperBase" class in
system.pp and track its def like its done for "TObject", "IUnknown" and
teh ObjC base def.
* technical prevention: none
* personal prevention: I'm personally not a big fan of those "compiler
tracked defs" (although I already know that I need to add one when I'm
going to implement attributes :( )
If you think it would be wiser to mimic the Delphi implementation, I
will do so.
In my opinion though the difference should not concern too many people
(*) and would lead to a cleaner way to decide whether a given type is a
helper or a real class. Also I'd be able to add a "ExtendedTypeInfo"
field which would contain the type the helper extends.
(*) a quick google search basically only revails Embarcadero's thin
documentation about that class (
http://docwiki.embarcadero.com/VCL/2010/en/System.TClassHelperBase ) and
the class helper threads on this mailing list
Regards,
Sven
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel