컴파일을 하면 다음과 같은 에러가 한번 뜨고 실행이 됩니다.
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;
여기서 문제가 생기는데... 왜그런지 좀 알려주세요..
부탁드립니다.
> 컴파일을 하면 다음과 같은 에러가 한번 뜨고 실행이 됩니다.
> 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쪽에서 찾아보시죠.