Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > Borland Delphi
  Aktif Konular Aktif Konular RSS: Bir sınıftan türeyen alt sınıfların listesi(Rtti)
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

Bir sınıftan türeyen alt sınıfların listesi(Rtti)

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Bir sınıftan türeyen alt sınıfların listesi(Rtti)
    Gönderim Zamanı: 20.Temmuz.2012 Saat 10:54
// Bir class'tan türeyen alt class'ların listesini döndürür

uses
   Rtti,
   TypInfo,
   Classes;

function GetSubClassList(AClass: TClass): TStrings;
var 
  atypes:TArray<TRttiType>;
  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);
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,532 Saniyede Yüklendi. [power by : WebWiz]