如何通过方法名找到一个类的方法? 一个类的public的属性和事件可以找出来,但是如何列举类的所以方法呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 RTTI资料http://www.delphibbs.com/delphibbs/dispq.asp?LID=2420610 用如下 方法即可,具体可以参考http://www.delphibbs.com/delphibbs/dispq.asp?LID=2420610procedure GetClassProperties(AClass: TClass; AStrings: TStrings);var PropCount, I: SmallInt; PropList: PPropList; PropStr: string;begin PropCount := GetTypeData(AClass.ClassInfo).PropCount; GetPropList(AClass.ClassInfo, PropList); for I := 0 to PropCount - 1 do begin case PropList[I]^.PropType^.Kind of tkClass : PropStr := '[Class] '; tkMethod : PropStr := '[Method]'; tkSet : PropStr := '[Set] '; tkEnumeration: PropStr := '[Enum] '; else PropStr := '[Field] '; end; PropStr := PropStr + PropList[I]^.Name; PropStr := PropStr + ': ' + PropList[I]^.PropType^.Name; AStrings.Add(PropStr); end; FreeMem(PropList);end;procedure TForm1.Button3Click(Sender: TObject);begin GetClassProperties(TForm,Memo1.Lines);end; 如果你是D2010以下的话,public的是列不出来的,默认只能列published。要能列public的话,需要给类加上{$METHODINFO ON}的编译符。获取方法见3楼 每日赚分帖 如何响应动态创建的控件数组中一个控件的事件? Dev Express中grid中的超级链接怎么加上去? 无线数据传输 急!急!急! Access数据库中有一个表,当Table.open时总是报错 有没有大专毕业的程序员,进来聊聊! 现在我在学GCI,意思觉的有点落后!我想学ASP或是JSP但不知这两个软件与DELPHI结合哪个会更好 明天过节发分!快来啊!!!!!!! Dephi多层数据库查询问题 *****国际化软件的开发****** 助记码代码咋写,想到就提问 XP 开始按钮等热键屏蔽方法。
资料http://www.delphibbs.com/delphibbs/dispq.asp?LID=2420610
var
PropCount, I: SmallInt;
PropList: PPropList;
PropStr: string;
begin
PropCount := GetTypeData(AClass.ClassInfo).PropCount;
GetPropList(AClass.ClassInfo, PropList);
for I := 0 to PropCount - 1 do
begin
case PropList[I]^.PropType^.Kind of
tkClass : PropStr := '[Class] ';
tkMethod : PropStr := '[Method]';
tkSet : PropStr := '[Set] ';
tkEnumeration: PropStr := '[Enum] ';
else
PropStr := '[Field] ';
end;
PropStr := PropStr + PropList[I]^.Name;
PropStr := PropStr + ': ' + PropList[I]^.PropType^.Name;
AStrings.Add(PropStr);
end;
FreeMem(PropList);
end;procedure TForm1.Button3Click(Sender: TObject);
begin
GetClassProperties(TForm,Memo1.Lines);
end;