|
반환해 주는 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* 를 리턴해주는데 어떻게 해야될지 감이 안잡힙니다
|