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