Q&A

  • List Index out of bounds(0).. 에러 좀 잡아주세요
컴파일을 하면 다음과 같은 에러가 한번 뜨고 실행이 됩니다.

List Index out of bounds(0)..

뭐가 문제인가요.?

procedure Twongafrm.facedit1KeyPress(Sender: TObject; var Key: Char);

var vquery:string;

begin

if key = #13 then

begin

if selectradio.ItemIndex=0 then

begin

facqry;

end

else if selectradio.ItemIndex=1 then

vquery:=

' Select bc.name from production::Basiccode bc'+

' where bc.code0=7 and bc.code2=1 and bc.code1=:vcode';

with tmpqry do

begin

Close;

SQL.Clear;

SQL.Add(vquery);

Params[0].AsString:=FacEdit1.text;

open;

FacNameEdit1.text:=FieldByname('name').AsString;

CodeEdit1.SetFocus;

end;

if FacNameEdit1.Text = '' then

begin

Messagedlg('존재하지 않는 코드입니다.',mtInformation,[mbok],0);

end;

end;

end;



여기서 문제가 생기는데... 왜그런지 좀 알려주세요..

부탁드립니다.



1  COMMENTS
  • Profile
    박성훈 1999.12.18 03:44
    sun wrote:

    > 컴파일을 하면 다음과 같은 에러가 한번 뜨고 실행이 됩니다.

    > List Index out of bounds(0)..

    > 뭐가 문제인가요.?

    > procedure Twongafrm.facedit1KeyPress(Sender: TObject; var Key: Char);

    > var vquery:string;

    > begin

    > if key = #13 then

    > begin

    > if selectradio.ItemIndex=0 then

    > begin

    > facqry;

    > end

    > else if selectradio.ItemIndex=1 then

    > vquery:=

    > ' Select bc.name from production::Basiccode bc'+

    > ' where bc.code0=7 and bc.code2=1 and bc.code1=:vcode';

    > with tmpqry do

    > begin

    > Close;

    > SQL.Clear;

    > SQL.Add(vquery);

    > Params[0].AsString:=FacEdit1.text;

    > open;

    > FacNameEdit1.text:=FieldByname('name').AsString;

    > CodeEdit1.SetFocus;

    > end;

    > if FacNameEdit1.Text = '' then

    > begin

    > Messagedlg('존재하지 않는 코드입니다.',mtInformation,[mbok],0);

    > end;

    > end;

    > end;

    >

    > 여기서 문제가 생기는데... 왜그런지 좀 알려주세요..

    > 부탁드립니다.

    >



    실행 직후에 에러가 떨어지는 거라면 다른 쪽의 에러가 아닌가 싶습니다. facedit1KeyPress이벤트는 에디트박스에서 엔터키를 쳐야만 호출되니까 그 이전에 FormCreate나 Formshow,FormActive쪽에서 찾아보시죠.