Getting these informations at runtime is definitely a _powerful_ _feature_, it's no more than .Net's attributes or java's annotations. Their generation could be activated by a compiler switch like the RTTI {$M+} and {$M-} so in debug mode it will be activated for the LCL code and deactivated in release mode. For example the following compiler directives could be put at the begining of the LCL units. So you pay for what you use, and don't have to pay and don't pay for what you don't use.
{$IFDEF DEBUG} {$ANNOTATION+} {$ENDIF} {$IFNDEF DEBUG} {$ANNOTATION-} {$ENDIF} By the way why not adopt the Delphi attributes's syntax instead of creating a new one with incompatibilties ? Personaly I could use it in the WST to declare entities's serialization style (attribute properties, embedded array, external elements names ...), SOAP operation encoding ( litteral or encodded ), SOAPAction .... _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel