[fpc-devel] TObject differences between fpc and delphi
Michael Van Canneyt
michael at freepascal.org
Wed Oct 28 08:34:48 CET 2009
On Wed, 28 Oct 2009, Paul Ishenin wrote:
> Michael Van Canneyt wrote:
>
>> On the other hand, UnitName may come in handy for the Lazarus IDE.
>
> And this is the most difficult thing amoung other new methods :)
>
> I am trying to get UnitName from the RTTI but have some problems:
>
> 1. If I call PTypeInfo(TypeInfo(TObject))^.Kind then I get tkClass and
> UnitInfo can be retrieved since tkClass has this member.
>
> 2. If I am using PTypeInfo(TypeInfo(Self))^.Kind inside a class method I get
> tkUnknown and UnitName is not avaiable ofcource.
>
> 3. If I am using ClassInfo iside a class method then it returns nil if the
> class has no RTTI.
This last is correct, since the ClassInfo is part of the RTTI ?
>
> Few questions now:
> a) Why TypeInfo(TObject) <> TObject.ClassInfo?
> b) Why TypeInfo(TPersistent) = TPersistent.ClassInfo?
Because TPersistent is compiled in $M+ ?
> c) How to get TypeInfo of the class inside that class class method?
I think that Florian should answer this, but it seems like a bug to me ?
Michael.
More information about the fpc-devel
mailing list