Invalid class typecast - rave Reports
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:
O erro ocorre exatamente na linha rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);
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
Curtidas 0
Respostas
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:
O erro ocorre exatamente na linha rvprjctCV.ExecuteReport(Rep_CertificadoVistoria);
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
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.
O comando citado executa um relatório (Rave Reports).
Obrigado pela atenção e ajuda.
GOSTEI 0
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
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