RTTI - Invalid class typecast

Delphi

05/10/2015

Bom dia pessoal, estou tentando, criar uma procedure utilizando RTTI, porém estou tento um retorno de invalid class typecast, alguém poderia me dar uma força!? agradeço desde já.

Segue a classe que eu quero identificar

------ CLASSE CLIENTE
type
TCliente = class
private
Fid : Integer;
Flicenca : ShortString;
Fnome : ShortString;
Ffantasia : ShortString;
...

----- CLASSE CAMPOCLIENTE
type
TCampoClasse = class
private
Fid : Integer;
Flicenca : ShortString;
Fnome : ShortString;
Ffantasia : ShortString;

eu chamo a procedure grava a partir do botão

procedure TForm1.Button1Click(Sender: TObject);
var
f : TCampoClasse;
begin
f.Create(1,
'1111',
'1',
'1');

Grava(TCliente, f);
end;

a procedure onde eu quero identificar

function TForm1.Grava(AClasse : TClass; Fld : TCampoClasse): String;
var
ctxRtti : TRttiContext;
typRtti : TRttiType;
metRtti : TRttiMethod;

aParams : Array of TValue;
begin
ctxRtti := TRttiContext.Create;

try
typRtti := ctxRtti.GetType(AClasse);
metRtti := typRtti.GetMethod('Create');
SetLength(aParams, 3);
aParams[0] := Self;
aParams[1] := FDConnection1;
aParams[2] := Fld;

metRtti.Invoke(ACLasse, aParams); <<<<<------- O ERRO APARECE NESTA PARTE
finally
ctxRtti.Free;
end;
end;
Ricardo Matarazzo

Ricardo Matarazzo

Curtidas 0
POSTAR