****에러메세지*****
==================================================================================
Project1.exe raised exception EStringListError with message 'List index out of bounds(0)' process stopped. Use step or Run to continue.
==================================================================================
에러메세지입니다...
이해는 가는데...... 어떻게 처리를 해줘야 하는지 잘 모르겠습니다...
고수님들 조금만 갈켜 주세요.......
제 주위에 델파이를 잘 하는 사람이 없어서리 지금 아주 고생하고 있습니다....
밑에는 소스의 일부분인데요!!! 이 부분에서 에러가 뜨는데요...
혹시 아시고 계시는 분이나 경험이 있으신분 조언 부탁드립니다..
아님 소스를 수정하셔도 됩니다...^^;
===================================================================================
procedure TForm1.Increase;
var
i: Integer;
begin
for i := 0 to (ListBox1.Items.Count) do
begin
Try
NMFTP1.Download(ListBox1.Items.Strings[i], 'C:A'+ ListBox1.Items.Strings[i]);
DbTry;
NMFTP1.Delete(ListBox1.Items.Strings[i]);
except begin
StatusBar1.SimpleText := 'Downloading~';
next;
end;//except
end;//Try
TimerInterfaceTimer(Nil);
end;// for~
end;
===================================================================================
이부분에서 루프를 돌잖아요?? 처음에는 ListBox1에 파일이 있으면 잘 돌아가는데요..
파일이 더이상 없으면 에러를 띄우더라구요!!
제발 고수님들 초보를 이 안타까운 현실를 고수님들의 조언과 조금의 코딩으로 ....
초보의 늪에서 빠져 나올수 있도록 해 주세요!!!
그럼 즐거움 하루 보내세요!!!! 꾸벅~
그 에러는요.. 님이 마지막에 말씀 하신것 처럼
리스트 박스의 내용이 더이상 없을때 가령
0,1,2,3,4,5 번지까지 데이터가 있는데 6번에 없다면
에러를 뛰우게 되어 있어요
없는데 읽어 오려니까 못 가지고 오겠다고 앙탈 부리는 거지요..
해서..
for i := 0 to (ListBox1.Items.Count) do
이 부분을
for i := 0 to (ListBox1.Items.Count-1) do로 바꿔주세요
참고로 items.count 는 천제 개수가 나옵니다.
0,1,2,3,4,5 번지에 각각 들어 잇음 6이 나오는거죠
근데
0에서 부터 items.count까지 돌리면서 i 변수에 대입하면 마지막에
6이 들어 가겠죠? listbox에는 더이상 6번째 아이템이 없는데 말이죠
이해가 되지요?
그럼 후다닥...
초보델피언... wrote:
>
> ****에러메세지*****
> ==================================================================================
> Project1.exe raised exception EStringListError with message 'List index out of bounds(0)' process stopped. Use step or Run to continue.
> ==================================================================================
> 에러메세지입니다...
> 이해는 가는데...... 어떻게 처리를 해줘야 하는지 잘 모르겠습니다...
> 고수님들 조금만 갈켜 주세요.......
> 제 주위에 델파이를 잘 하는 사람이 없어서리 지금 아주 고생하고 있습니다....
>
> 밑에는 소스의 일부분인데요!!! 이 부분에서 에러가 뜨는데요...
> 혹시 아시고 계시는 분이나 경험이 있으신분 조언 부탁드립니다..
> 아님 소스를 수정하셔도 됩니다...^^;
> ===================================================================================
> procedure TForm1.Increase;
> var
> i: Integer;
>
> begin
> for i := 0 to (ListBox1.Items.Count) do
> begin
> Try
> NMFTP1.Download(ListBox1.Items.Strings[i], 'C:A'+ ListBox1.Items.Strings[i]);
> DbTry;
> NMFTP1.Delete(ListBox1.Items.Strings[i]);
> except begin
> StatusBar1.SimpleText := 'Downloading~';
> next;
> end;//except
> end;//Try
> TimerInterfaceTimer(Nil);
> end;// for~
> end;
> ===================================================================================
> 이부분에서 루프를 돌잖아요?? 처음에는 ListBox1에 파일이 있으면 잘 돌아가는데요..
> 파일이 더이상 없으면 에러를 띄우더라구요!!
> 제발 고수님들 초보를 이 안타까운 현실를 고수님들의 조언과 조금의 코딩으로 ....
> 초보의 늪에서 빠져 나올수 있도록 해 주세요!!!
> 그럼 즐거움 하루 보내세요!!!! 꾸벅~