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
[67594] Re:Re:Re:Re:TList를 TThreadList로 대체할수없는건가요?
똑똑 [enjoysex] 1130 읽음    2012-06-19 19:11
이해가 되질 않는게
클라이언트들의 목록이 List에 들어갑니다
근데왜또 TThreadList가 필요한거죠?
TList와 TThreadList의 기능이 조금달라서
TList의 기능 몇개, TThreadList에 기능몇개
사용하기위해서 두개나 불러다가 사용하는것인지요
거기다가 결정적인게 두개를 불러서 어떻게 사용해야될지 감도 안오네요 ㅠㅠ
힌트좀 주시면 감사하겠습니다

Intotheblue 님이 쓰신 글 :
: 결과적으로 두개가 필요한게 맞습니다.
: 님이 올리신 예제 보면..
: 거기에 님이 필요로 하는 내용은 다 있는데요..
:
: : : :    List = IdTCPServer1->Contexts->LockList() ;  ==> list 가져오고..
: : : :
: : : :    try
: : : :     {
: : : :     for(Loop =0;Loop<List->Count;Loop++)  ==> count는 여기 있고요..
:
:
:
:
: 똑똑 님이 쓰신 글 :
: : 이해가 잘되지않는데 Count멤버변수를 사용할려면 어떻게 사용해야되는건가요?
: : TList, TThreadList 두개가 필요한건 아니죠?
: : 이제막 프로그래밍시작한 초보라 양해부탁드립니다
: :
: : Intotheblue 님이 쓰신 글 :
: : : 반환해 주는 TList* 를 가지고 이용하면 됩니다.
: : :
: : : ThreadList 는 Thread 사용시 동기화 처리때문에..
: : : lock 과 unlock 을 제공해 주는 역활을 하죠.
: : : 나머지는 List 에 필요한것은. 반환되는 TList 로 쓰시면 됩니다.
: : :
: : : 올려놓으신 예제를 보면 알수 있을겁니다.
: : :
: : : 똑똑 님이 쓰신 글 :
: : : : void __fastcall TForm1::SandToAll(AnsiString Text)
: : : : {
: : : :    TList *List;
: : : :    TIdContext *AContext;
: : : :    int Loop;
: : : :    List = IdTCPServer1->Contexts->LockList() ;
: : : :
: : : :    try
: : : :     {
: : : :     for(Loop =0;Loop<List->Count;Loop++)
: : : :         {
: : : :           AContext = (TIdContext *) List->Items[Loop];
: : : :           AContext->Connection->IOHandler->WriteLn(Text);
: : : :         }
: : : :     }
: : : :     __finally
: : : :     {
: : : :        IdTCPServer1->Contexts->UnlockList();
: : : :     }
: : : : }
: : : : //---------------------------------------------------------------------------
: : : : void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext)
: : : : {
: : : :
: : : :     AnsiString Temp ;
: : : :     Temp = AContext->Connection->IOHandler->ReadLn();
: : : :     SandToAll(Temp);
: : : : }
: : : :
: : : : TList는 쓰레드에서는 TThreadList로 대체해서 사용해야된다고 들었는데
: : : :
: : : : TList를 TThreadList로 마냥 대체할려고하니깐 오류가 발생하네요
: : : : TThreadList에서는 Count멤버변수도 없고
: : : : IdTCPServer1->Contexts->LockList() 는 TList* 를 리턴해주는데 어떻게 해야될지 감이 안잡힙니다

+ -

관련 글 리스트
67587 TList를 TThreadList로 대체할수없는건가요? 똑똑 1143 2012/06/19
67591     Re:TList를 TThreadList로 대체할수없는건가요? 축구 1175 2012/06/19
67589     Re:TList를 TThreadList로 대체할수없는건가요? Intotheblue 1374 2012/06/19
67590         Re:Re:TList를 TThreadList로 대체할수없는건가요? 똑똑 1138 2012/06/19
67593             Re:Re:Re:TList를 TThreadList로 대체할수없는건가요? 축구 1148 2012/06/19
67592             Re:Re:Re:TList를 TThreadList로 대체할수없는건가요? Intotheblue 1125 2012/06/19
67594                 Re:Re:Re:Re:TList를 TThreadList로 대체할수없는건가요? 똑똑 1130 2012/06/19
67595                     Re:Re:Re:Re:Re:TList를 TThreadList로 대체할수없는건가요? Intotheblue 1731 2012/06/19
67588     Re:TList를 TThreadList로 대체할수없는건가요? Lyn 1160 2012/06/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.