Weis nicht, ob es dafür bereits eine Funktion gibt.
Delphi-Quellcode:
procedure getMethodList(aClass:TClass; const List:TStrings);
Type PMethodEntry=^TMethodEntry;
TMethodEntry=packed record
size:Word;
Adr:pointer;
Name:Shortstring;
end;
var mTable:ppointer;
ClassName:String;
MethodCount:PWord;
MethodEntry:PMethodEntry;
i:integer;
begin
while aClass<>nil do
begin
mTable:=pointer(integer(aClass)+vmtMethodTable);
if (mTable<>nil)and(mTable^<>nil) then
begin
MethodCount:=mTable^;
MethodEntry:=pointer(integer(MethodCount)+2);
ClassName:=aClass.ClassName;
for i:=1 to MethodCount^ do
begin
List.add(aClass.ClassName+'.'+MethodEntry^.Name);
MethodEntry:=pointer(integer(MethodEntry)+MethodEntry^.size);
end;
end;
aClass:=aClass.ClassParent;
end;
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.