为什么在设计时找不到 TServerSocket 类?

DBe*_*nko 1 delphi delphi-xe2

Comm_Ethernet.dfm我声明一个类型的组件TServerSocket

object frmCommEthernet: TfrmCommEthernet
  object ServerSocket1: TServerSocket
    Active = False
    Port = 5555
    ServerType = stNonBlocking
    OnClientConnect = ServerSocket1ClientConnect
    OnClientDisconnect = ServerSocket1ClientDisconnect
    OnClientRead = ServerSocket1ClientRead
    OnClientError = ServerSocket1ClientError
    Left = 808
    Top = 8
  end
end
Run Code Online (Sandbox Code Playgroud)

TServerSocket是在 RTL 中的单元中声明的System.Win.ScktComp,但它在设计时似乎不可用,因为当我打开表单时,它会抱怨:

未找到 TServerSocket 类 [忽略] [取消] [全部忽略]

但是,我的项目编译并运行得很好(当此表单未在 IDE 中打开时)。我该如何摆脱这个错误?

Dav*_*nan 5

中的组件ScktComp已被弃用,并且已经弃用很长时间了。您应该使用不同的组件,例如 Indy。弃用的一个重要原因是这些组件不是跨平台的。

ScktComp如果将dclsocketsNNN.bpl包安装到 IDE 中,您仍然可以在设计时使用这些组件。据推测,Embarcadero 默认情况下不会安装此软件包,因为它包含已弃用的组件。

  • `ScktComp` 中的组件 (2认同)