uses Rtti, TypInfo, Classes; function GetSubClassList(AClass: TClass): TStrings; var atypes:TArray; atype:TRttiType; alist:TStringList; begin r:=TRttiContext.Create; atypes:=r.GetTypes; alist:=TStringList.Create; for atype in atypes do begin if (atype.TypeKind=tkClass) and atype.IsInstance and atype.AsInstance.MetaclassType.InheritsFrom(AClass) and (atype.Name<>AClass.ClassName) then begin alist.Add(atype.Name); end; end; //atype.AsInstance.BaseType.MetaclassType.ClassName Result:=alist; end; // Kullanımı ShowMessage(GetSubClassList(TControl).Text);
28 Ağustos 2012 Salı
Bir sınıftan türeyen alt sınıfların listesi(Rtti)
// Bir class'tan türeyen alt class'ların listesini döndürür
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder