Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Список методов / 4 сообщений из 4, страница 1 из 1
03.11.2003, 11:16
    #32313199
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список методов
Народ, никто не в курсе, как получить список published методов класса?
адрес например можно при помощи MethodAddress , а список всех?
...
Рейтинг: 0 / 0
03.11.2003, 11:35
    #32313234
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список методов
procedure GetMethodList( FromClass: TClass; MethodList: TStrings ); overload;
type
PPointer = ^Pointer;
PMethodRec = ^TMethodRec;
TMethodRec = packed record
wSize: Word;
pCode: Pointer;
sName: ShortString;
end;
var
MethodTable: PChar;
AClass: TClass;
MethodRec: PMethodRec;
wCount: Word;
nMethod: integer;
begin
MethodList.Clear;
AClass := FromClass;

while AClass <> nil do
begin
//Get a pointer to the class's published method table
MethodTable := PChar( Pointer( PChar( AClass ) + vmtMethodTable )^ );

if MethodTable <> nil then
begin
//Get the count of the methods in the table
Move( MethodTable^, wCount, 2 );

//Position the MethodRec pointer at the first method in the table
//(skip over the 2-byte method count)
MethodRec := PMethodRec( MethodTable + 2 );

//Iterate through all the published methods of this class
for nMethod := 0 to wCount - 1 do
begin
//Add the method name and address to the MethodList TStrings
MethodList.AddObject( MethodRec.sName, MethodRec.pCode );
//Skip to the next method
MethodRec := PMethodRec( PChar( MethodRec ) + MethodRec.wSize );
end;
end;
//Get the ancestor (parent) class
// The easy way:
AClass := AClass.ClassParent;
end;
end;
...
Рейтинг: 0 / 0
03.11.2003, 11:38
    #32313240
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список методов
srf2000
спасибки большое, чичас проверим
...
Рейтинг: 0 / 0
03.11.2003, 11:45
    #32313259
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список методов
СПАСИБО! Заработало :))
премного благодарен :))
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Список методов / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]