Q&A

  • fastReport에서 파라미터 넘길때 나는 에러입니다.
//파라미터를 설정하는 부분
procedure TViewERPForm.frReport1GetValue(const ParName: String;
  var ParValue: Variant);
begin
  if ParName = 'date1' then
  begin
    ParValue := DBDateTimeEditEh1.Text;
  end
  else if ParName = 'date2' then
  begin
    ParValue := DBDateTimeEditEh2.Text;
  end;
end;
//실제 레포트에서 사용하는 부분
[date1]부터 [date2]부터

근데^^; 이렇게 사용하는데...
파라미터 넘길때..계속
exception class EVariantTypeCastError with message
'Could not convert variant of type(String) into type(Double)'
이런 에러가 납니다..
참고로 DBDateTimeEditEh1.Text 에는 '2003.04.01'
참고로 DBDateTimeEditEh2.Text 에는 '2003.04.31'
또 이 에러가 10번 나오고 계속 진행하면....화면에는 값이 제대로 나옵니다..
참고로 결과 데이셋의 로우도 10개인데...
이건 잘 몰라서 ...아뭏튼 무슨 에러인지...
답답하군요..
그럼 고수님들의 좋은 답변주시길..
비도 오는데 즐프하세염..

2  COMMENTS
  • Profile
    꿈의대화 2003.04.29 21:58
    .
  • Profile
    이강석 2003.04.30 01:54
    저도 그런 문제라고 생각은 듭니다.
    그런데 문제는 그 ParValue를 처리하는 부분은 제가 직접처리하는게 아니라..
    패스트 레포트안에서 처리하는 루틴이 보입니다...
    실제 사용시에는 레포트안에서[date1]이런 식으로 하면 그 넘어온 값이 화면에 출력이 되는거죠?(사용해 보셨는지 몰겠지만)
    저희는 variant형에다 걍..int,string.float,double이든 넘기기만 하는 겁니다..
    어차피 받는 값이 variant니까요..
    근데 계속 Trace하다 보면...레포트 컴포넌트로 들어가네요..
    거기서 에러나는 부분이 아까 이야기한 것이 맞는건 같은데...
    제가 안그래도 날짜형식부분을 다른 스트링으로 고쳐봤지만...
    그래도 같은 에러가 나네요...
    아무리 생각해도 이상하네요...제가 이상한건가요?
    쩌업...예전부터 계속 그런식으로 사용해왔는데...머가 문제인지..모르겠네요..
    계속 트레이스하다가 보니깐...Format어쩌구 하는 함수에서...실제값과 변환하는 타입등등 넣어주고 변환하다 컴포넌트 함수내에서 에러가 나는데..
    쩌업..잘 모르겠네요..
    아무튼 조언 감사합니다...^^