我的代码创建了几个TidTCPClients,然后在TThreadList中添加对它们的引用。
我希望通过
向所有人发送命令for I := 0 to (NumClients - 1) do
begin
ClientList[I].IOHandler.WriteLn('Whatever');
end;
(这显然只是代码的一小部分)。
但是我遇到两个错误:
[DCC错误] Client.pas(261):E2149类没有默认属性
[DCC错误] Client.pas(262):E2233属性'IOHandler'在这里无法访问
在简短阅读This之后,我对如何做到这一点毫不明智,但绝对开始认为我完全走错了路。
有人能指出我正确的方向吗?
答案 0 :(得分:3)
请参阅doc如何操作TThreadList
。您还需要在列表中键入强制转换TidTCPClient
对象,因为它只包含无类型指针。
var
list: TList;
...
list := ClientList.LockList;
try
for I := 0 to list.Count - 1 do
begin
TidTCPClient(list[I]).IOHandler.WriteLn('Whatever');
end;
finally
ClientList.UnlockList;
end;