Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Public методы класса


Автор: salexn 10.2.2010, 16:31
Можно ли достать PUBLIC  методы класса. С published все понятно и не вызывает проблем.

Автор: artsb 10.2.2010, 17:12
в каком смысле достать? вызвать? да.

Автор: Bose 10.2.2010, 17:19
Достать можно кого угодно. smile 

Автор: salexn 10.2.2010, 17:20
в смысле, чтобы можно было их наименования вывести в какой-нить ListBox, by example

Автор: artsb 10.2.2010, 17:47
Цитата(salexn @  10.2.2010,  17:20 Найти цитируемый пост)
в смысле, чтобы можно было их наименования вывести в какой-нить ListBox

названия методов? ИМХО нельзя.

Автор: Bose 11.2.2010, 02:37
В Delphi 2010 вроде можно. В более старых версиях - никак.

Автор: salexn 11.2.2010, 11:51
А поподробнее насчет 2010... Он как раз и интересует

Автор: salexn 11.2.2010, 12:53
Всем спасибо! Разобрался как это работает в 2010! 

Автор: Frees 11.2.2010, 13:07
Цитата(salexn @  11.2.2010,  15:53 Найти цитируемый пост)
Всем спасибо! Разобрался как это работает в 2010! 

расскажи если не трудно чтоб другие знали

Автор: salexn 11.2.2010, 15:17
Все оказалось очень просто

....
Код


var
 c : TRttiContext;
 aMethods : TRttiMethod;
 aProperty: TRttiProperty;
 
begin
   //Display- TStringList
   Display.Clear;
 
   c := TRttiContext.Create;
   try
     for aProperty in c.GetType(SomeObject.ClassType{or class TcxButton}).GetProperties do
     begin
       Display.Add(aProperty.Name + ':' + aProperty.PropertyType.ToString);     
     end;

     for aMethods in c.GetType(SomeObject.ClassType{or class TcxButton}).GetMethods do
     begin     
        Display.Add(aMethods.ToString);
     end;
   finally
     c.Free;
   end
end;



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)