쿼리로부터 읽어온 수치형데이터를 가공하여
퀵레포트의 디테일밴드에 동적으로 쉐이프(a)와 라벨(b)을 생성 시킨후
2차원 좌표위에 데이타의 내용을 점(a)으로 보여주려고 합니다.
불량률
■ |
■ | <━ (불량내용) b
■ | a
■ |
■ |
■ |
■ |
■ |
■ |
■■■■■■■■■■■■■
A지점
컴파일 할때는 문제가 없는데 실행시킬때면 제목과 같은 에러가 뜹니다...
그냥 Ignore 할수도 없고 ㅠ.ㅠ ...이유를 아시면 좀 부탁드립니다...
(? 다른 레포트에서는 문제가 없답니다...라벨을 동적으로 생성시킨 부분이 의심스러워
코드로 같이 올립니다... )
MyPos : TQRShape;
MyLabel : TQRLabel;
cnt : Integer;
..................................................
cnt := 0;
while not Query1.EOF do
begin
Inc(cnt);
MyPos := TQRShape.Create(nil);
MyPos.Parent := DetailBand1;
MyPos.Name := 'MyPos'+IntToStr(cnt);
nTop := nBottom - 600*(Query1.Fields[1].Value/Query1.Fields[1].Value);
MyPos.Top := Round(nTop);
// FindComponent('ver'+IntToStr(i)) as TQRShape 는 디테일밴드에 이미 그려놓은
Shape랍니다..
MyPos.Left := TQRShape(Self.FindComponent('ver'+IntToStr(i))).Left - 2;
MyPos.Width := 10;
MyPos.Height := 2;
MyPos.Shape := qrsHorLine;
MyPos.Pen.Width := 2;
MyLabel := TQRLabel.Create(nil);
MyLabel.Parent := DetailBand1;
MyLabel.Name := 'MyLabel'+IntToStr(cnt);
MyLabel.Left := MyPos.Left + 15;
MyLabel.Top := MyPos.Top;
MyLabel.Caption := Query1.Fields[0].Value;
qrMaster.Next;
if not qrMaster.EOF then
sRoll := qrMasterRollNo.Value;
end;