Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[13554] Re:Re:퀵리포트 integer overflow
lisa [] 2506 읽음    2011-01-11 11:16
하얀까마귀 님이 쓰신 글 :
: lisa 님이 쓰신 글 :
: : 퀵리포트를 사용하여 통계 작업을 하고 있습니다.
: : 다이너믹하게 TQRExpr 를 사용하여 Expression에 각 필드에 대한 Sum을 하고 있는데요
: : 단위가 21억이 넘어가니  integer overflow 에러가 발생합니다.
: :
: : 해결할 수 있는 방법이 있나요?
: : 아래와 같이 선언하여 사용하고 있는데요.
: :             QRSummery:= TQRExpr.Create(self);
: :             QRSummery.Name:= 'QRSummery'+IntToStr(i);
: :             QRSummery.Parent:= QRBand2;
: :             QRSummery.AutoSize:= False;
: :             QRSummery.Alignment:= DBGrid.Columns[i].Alignment;
: :             QRSummery.Transparent:= True;
: :             QRSummery.Font.Style := QRSummery[i].Font.Style + [fsBold];
: :             QRSummery.Left:= Startleft;
: :             QRSummery.Top:= 8;
: :             QRSummery.Width:= Round(DBGrid.Columns[i].Width * widthRatio);
: :             QRSummery.Expression:= 'Sum('+DBGrid.Columns[i].FieldName+')';
: :             QRSummery.OnPrint:= ExtChange;
: :             QRSummery.Enabled:= True;
: :
: : integer의 한계가 21억이라 나는 에러인 것 같은데 QRSummery의 타입을 새로 지정해 줄 수
: : 있는 것도 아닌 것 같고 어느 부분을 수정해야 할 지를 모르겠네요.
: :
: : 도움 부탁드립니다.  감사합니다.
:
:
: 리포트를 써본지가 오래되어서.. ㅎㅎ
:
: 방법이 없다면.. 할수 없죠.. 코딩으로 계산을 하셔서 qrlabel에다가 뿌려주시면 될듯하네요.

할 수 없이 Currency  변수 선언하고 거기에 담아서 계산한 다음에 QRSummery는 Label로 변경하여 처리하였어요.

+ -

관련 글 리스트
13528 퀵리포트 integer overflow lisa 2030 2011/01/06
13533     Re:퀵리포트 integer overflow 하얀까마귀 2043 2011/01/09
13554         Re:Re:퀵리포트 integer overflow lisa 2506 2011/01/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.