Q&A

  • QuickReport 에서 FindComponent로 찾기..
var p_qr : TQRLabel;
begin
   with Fm206rpt do begin
        for i := 48 to 59 do begin
            ii := inttostr(i);
            P_qr := Self.FindComponent('QRLabel' + ii) as TQRLabel;
            if ii = '48' then
               P_qr.Caption := '1월가실적' else
            begin
               iii := inttostr(strtoint(ii) - 46);
               P_qr.Caption := iii + '월예상';
            end;
        end;
end;

P_qr.Caption := '1월가실적' else 요기서 무시무시한 엑세스바이올레이션
이 걸리네요
무었이 문제인가요? 한수 부탁드립니다. 감사합니다.
            
4  COMMENTS
  • Profile
    윤수아 2002.01.11 20:46
    P_qr 가 nil일 경우를 체크 해주셔야 할 것 같네요

  • Profile
    아폴론 2002.01.12 00:12
    A폼에서 Fm206rpt폼의 콤포넌트를 찾는건데
    폼이 다르면 아래의 구문으로는 안되나요?
    P_qr이 nil일 경우???  P_qr.Name는 반드시 있는데....

  • Profile
    최용일 2002.01.12 03:01
    안녕하세요. 최용일입니다.

    Self는 자기 자신을 가리킵니다.

    그러니까 Self.FindComponent를 하시면 Fm206rpt에서 찾는것이 아니라 A폼에서 찾게됩니다.

    with로 Fm206rpt가 묶여있으니까 Self만 빼시면 될거 같군요...

    ^^ 항상 ㅡㄹ코하세요...

  • Profile
    아폴론 2002.01.12 04:04

    with Fm206rpt do begin
         for i := 48 to 59 do begin
             ii := inttostr(i);
             P_qr := FindComponent('QRLabel' + ii) as TQRLabel;
             if ii = '48' then
                P_qr.Caption := '1월가실적' else
             begin
                iii := inttostr(strtoint(ii) - 47);
                P_qr.Caption := iii + '월예상';
             end;
        end;
    end;