Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.02.2012, 19:57
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию ObjectInvoke

Как вариант:
Код:
uses
  ObjAuto,

type
   TMyClass = class
   public
      {$METHODINFO ON}
      function test4(N:integer; S:String):String;
      procedure test5;
      {$METHODINFO OFF}
   published
   end;

implementation

function TMyClass.test4(N:integer; S:String):String;
begin
   result := 'test string: '+S+' ('+IntToStr(N)+')';
end;
procedure TMyClass.test5;
begin
  ShowMessage(Self.ClassName);
end;


procedure TForm1.SpeedButton1Click(Sender: TObject);
Var
  C:TMyClass;
  M:PMethodInfoHeader;
  V :Variant;
begin
  C := TMyClass.Create;
  try
   M := GetMethodInfo(C, 'test4');
   if M <> nil then begin
      V := ObjectInvoke(C, M, [1, 2], [55, 'string']);
      ShowMessage(trim(V));
   end
   else begin
      ShowMessage('GetMethodInfo (test4):  Error');
   end;
   M := GetMethodInfo(C, 'test5');
   if M <> nil then begin
      ObjectInvoke(C, M, [], []);
   end
   else begin
      ShowMessage('GetMethodInfo (test5):  Error');
   end;
  finally
   C.Free;
  end;
end;

Последний раз редактировалось roamer, 18.02.2012 в 20:01.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2026