Invalid class typecast - rave Reports

Delphi

28/03/2012

Pessoal minha aplicação funcionava muito bem. Mas nos últimos dias começou a acusar erro de typecast (Invalid class typecast) na chamada de um relatório (Rave Reports).
Já verifiquei todos os campos do select e não há divergência nos tipos de dados ou mesmo tamanho dos campos.
Alguém aí já passou por algo semelhante e tem alguma idéia do que posso fazer?
Segue trecho do código:

              if cdsRemetDestnNF.RecordCount > 1 then
                rvprjctCV.ProjMan.SetParam(pmDivRemet, /DVS);

              if cdsRemetDestnNF.RecordCount > 1 then
                rvprjctCV.ProjMan.SetParam(pmDivDestn, /DVS);

              rvprjctCV.ProjMan.SetParam(pmTotalPrj,FormatFloat(###,###,##0.00,v_TotalPrj));

              rvstmCV.DefaultDest    := rdFile;
              rvstmCV.DoNativeOutput := False;
              rvstmCV.OutputFileName := ExtractFilePath(ParamStr(0)) + v_Certificado + .pdf;
              rvstmCV.RenderObject   := rvrndrPDFCV;
              rvprjctCV.ProjectFile  := ExtractFilePath(ParamStr(0)) + CVRel.rav;
              rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);


O erro ocorre exatamente na linha rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);
Jener Martins

Jener Martins

Curtidas 0

Respostas

Alisson Santos

Alisson Santos

28/03/2012

Pessoal minha aplicação funcionava muito bem. Mas nos últimos dias começou a acusar erro de typecast (Invalid class typecast) na chamada de um relatório (Rave Reports).
Já verifiquei todos os campos do select e não há divergência nos tipos de dados ou mesmo tamanho dos campos.
Alguém aí já passou por algo semelhante e tem alguma idéia do que posso fazer?
Segue trecho do código:

              if cdsRemetDestnNF.RecordCount > 1 then
                rvprjctCV.ProjMan.SetParam(pmDivRemet, /DVS);

              if cdsRemetDestnNF.RecordCount > 1 then
                rvprjctCV.ProjMan.SetParam(pmDivDestn, /DVS);

              rvprjctCV.ProjMan.SetParam(pmTotalPrj,FormatFloat(###,###,##0.00,v_TotalPrj));

              rvstmCV.DefaultDest    := rdFile;
              rvstmCV.DoNativeOutput := False;
              rvstmCV.OutputFileName := ExtractFilePath(ParamStr(0)) + v_Certificado + .pdf;
              rvstmCV.RenderObject   := rvrndrPDFCV;
              rvprjctCV.ProjectFile  := ExtractFilePath(ParamStr(0)) + CVRel.rav;
              rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);


O erro ocorre exatamente na linha rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);



Esse erro que está dando é devido ao componente que está chamando não pertencer ao typecast, tipo assim você tem um tedit e quando está fazendo o typecast colocar um tdbedit ai dá esse erro.

Agora preciso saber se você debugou o programa e se sim, o que essa linha retorna???
essa linha é uma função???

precisa ser mais especifica para podermos analizar e poder dar uma solução.
GOSTEI 0
Jener Martins

Jener Martins

28/03/2012

Debuguei sim e no comando rvprjctCV.ExecuteReport(Rep_CertificadoVistoria) dá o erro EInvalidCast with message Invalid class Typecast.
O comando citado executa um relatório (Rave Reports).

Obrigado pela atenção e ajuda.
GOSTEI 0
Bruno Leandro

Bruno Leandro

28/03/2012

essa variavel Rep_CertificadoVistoria é do tipo string? no conteudo dela tem algum acento ou algum caracter especial
GOSTEI 0
Jener Martins

Jener Martins

28/03/2012

Sim Bruno, ela é do tipo String, sem qualquer acentuação e é o parâmetro na chamada do método ExecuteReport do Rave.
GOSTEI 0
POSTAR