28 Ağustos 2012 Salı

Rtti CallProc

Nesnelerin, parametresiz prosedürlerini, isimden çağırmak için yazdığım bir prosedür.
uses
  Rtti,
  Classes;

procedure CallProc(AClass: TClass; AInstance: TObject;ProcedureName: string);
var
  r:TRttiContext;
  t:TRttiType;
  params:array of TValue;
begin
  r:=TRttiContext.Create;
  t:=r.GetType(AClass);
  t.GetMethod(ProcedureName).Invoke(AInstance,params);
  r.Free;
end;