Florian Klämpfl wrote:
Am 19.09.2014 um 22:49 schrieb Boian Mitov:
On Fri, 19 Sep 2014, Adriaan van Os wrote:
Your remarks seem to imply that you think RTTI can be used to inspect any
aspect of an object.
It was/is not meant for that.
<<<
Quite incorrect. All languages with modern RTTI allow for full object
inspection, and that includes
Delphi 2010 and higher, C#, and even VB has it.
The fact is that FPC is just stuck in the last century, and the lack of any
even remotely decent
RTTI in it makes it unsuitable for any modern development.
FPC supports what it's users are implementing. No more no less. This is how a
community driven OSS
project works.
Thanks for the various reactions to my post about RTTI in FPC. I will wait to see what will be
available in the future. To give some background, here is an explanation of what I am trying to
accomplish.
The Pascal version of MacApp <http://en.wikipedia.org/wiki/MacApp>, which I am maintaining, has an
object browser. That browser is disabled in the current source base, but it could be restored. The
browser historically works through the MacApp root object which has
procedure Fields
( procedure DoToField
( theFieldName : Str255;
theFieldAddr : Ptr;
theFieldType : SInt16));
The Fields method must be implemented in every object type that adds fields (not properties, MacApp
uses MacPas style classes). This scheme works, but adds a lot of code, like this
procedure TEvtHandler.Fields(procedure DoToField(fieldName: Str255; fieldAddr: Ptr; fieldType:
SInt16));
begin
DoToField('TEvtHandler', nil, bClass);
DoToField('fNextHandler', @fNextHandler, bObject);
DoToField('fIdleFreq', @fIdleFreq, bLongInt);
DoToField('fLastIdle', @fLastIdle, bLongInt);
inherited Fields(DoToField);
end;
etcetera.
So, I started experimenting with the RTTI to have this automated .....
Regards,
Adriaan van Os
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel