C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[65837] Re:TStringList 다시 질문드립니다.
장성호 [nasilso] 1126 읽음    2012-01-02 14:48
똑같이 List Index Out of Bound 에러네요

"//에러 처러 부분"  이라고  작성하신 부분 잘 보세요

i+7이 Count보다 큰 경우만 들어가네요
반대로 코딩해야 할듯 한데...

  if((i+7) <  StrLst->Count )

....
그럼..


아자! 님이 쓰신 글 :
: void __fastcall TForm1::ComThread1PacketReceived(TObject *Sender,
: : :       AnsiString &buffer)
: : : {
: : :
: : :    buffer = "$test,,,,,,1,,,,M,,M,,*66\r\n$head,,,,,,V,N*64\r\n$speed,,V,2,3,4,5,6,7,8,9,,N*53\r\n";
: : :    //Memo1->SelText = buffer + "\r\n";
: : :    TStringList *StrLst = new TStringList();
: : :    StrLst->CommaText = buffer;
: : :
: : :    for(int i=0; i<StrLst->Count; i++)
: : :    {
: : :         if(StrLst->Strings[i].Trim() == "")  StrLst->Strings[i] = "0";
: : :         if(i+7 >= StrLst->Count ){// 에러 처리 부분
: : :              if((StrLst->Strings[i].AnsiCompare("$test"))== 0 )//& StrLst->Strings[7] == "1")
: : :             {
: : :                 VrUserLed3->Active = true;
: : :                 Edit4->Text = StrLst->Strings[(i-1)+3]+"."+StrLst->Strings[(i-1)+2];
: : :                 Edit5->Text = StrLst->Strings[(i-1)+5]+"."+StrLst->Strings[(i-1)+4];
: : :              }
: : :              else if((StrLst->Strings[i].AnsiCompare("$speed"))== 0)
: : :             {
: : :               Edit3->Text = StrLst->Strings[(i-1)+7]*1.8;
: : :             }
:            } // if(i+7 >= StrLst->Count ){
: : :   }
: : :    Memo1->Text = StrLst->Text;
: : :    delete StrLst;
: : : }
:
: 이렇게 에러 처리를 해도 에러가 발생하네요. 왜 그런건지 이유를 못찾고 있습니다.
: 처음에 몇번 되다가 또 에러가 발생하구요..

+ -

관련 글 리스트
65834 TStringList 다시 질문드립니다. 아자! 954 2012/01/02
65837     Re:TStringList 다시 질문드립니다. 장성호 1126 2012/01/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.