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
[47044] TList의 사용에서 질문드립니다...
newhuni [newhuni] 1265 읽음    2006-11-10 16:50
서버와 클라이언트와 소켓통신을 하는 프로그램을 짜고있습니다.
   아래 소스는 서버에서 보내준 파일정보 구조체를 클라이언트측에서  저장하는 루틴입니다. 

    //--------------------------------------------------------------------
    //  선언부
    //--------------------------------------------------------------------
   TFileInfo *info;   // 수신되는 파일정보 구조체
   TList *pFileList = new TList; // 구조체를 저장할 TList
   char buf[144] = {0,}

    //--------------------------------------------------------------------
    //  수신부
    //--------------------------------------------------------------------
    // 서버로부터 구조체를 받아 info에 저장한 후 TList타입의 pFileList에 저장합니다.
    for(int i=0;i<5;i++){
         info = new TFileInfo;
         IdTCPClient1->ReadBuffer(buf,sizeof(TFileInfo));
         info = (TFileInfo*)buf;
         richMessageBox->Lines->Add(info->FileName);  // 이상없이 값이 출력됨.
         pFileList->Add(info);
    }

    richMessageBox->Lines->Add("----------------------");

    //--------------------------------------------------------------------
    //  pFileList에 저장된 아이템을 불러와 리치에디터 박스에 출력합니다.
    for(int i=0;i<pFileList->Count;i++){
        info = (TFileInfo*)pFileList->Items[i];
        richMessageBox->Lines->Add(info->FileName); // 마지막에 저장된 데이타로만 출력됨.
    }
    //--------------------------------------------------------------------

   이 코드를 돌려보면 서버측에서 전송받은 구조체를 TList에 저장하는 루틴에서는
   각 구조체의 정보가 올바르게 나타납니다.
   그런데 저장하는 루틴이 끝나고 TList에 저장된 아이템을 불러와서 화면에 출력하면
   TList에 저장된 구조체정보가  나타나지 않고 맨  마지막에 저장된 구조체의 정보가
   나타납니다.

  실행 출력값
  a.exe
  b.exe
  c.exe
  d.exe
  e.exe
----------------------
  e.exe
  e.exe
  e.exe
  e.exe
  e.exe

어째서 이렇게 나타나는지 아무리 생각해도 답이 안나옵니다....
부족한 저에게 조언부탁드립니다. ㅠㅠ

+ -

관련 글 리스트
47044 TList의 사용에서 질문드립니다... newhuni 1265 2006/11/10
47045     Re:TList의 사용에서 질문드립니다... 장성호 1100 2006/11/10
47046         Re:Re:아.. 맞다.. 이런... ^^; 조언감사합니다... 잘됩니다.^^ (냉무) newhuni 995 2006/11/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.