Fórum Invalid class typecast - rave Reports #414738

28/03/2012

0

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

Responder

Posts

29/03/2012

Alisson Santos

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.
Responder

Gostei + 0

29/03/2012

Jener Martins

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.
Responder

Gostei + 0

29/03/2012

Bruno Leandro

essa variavel Rep_CertificadoVistoria é do tipo string? no conteudo dela tem algum acento ou algum caracter especial
Responder

Gostei + 0

29/03/2012

Jener Martins

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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar