为什么在设计时找不到 TServerSocket Class?
Why TServerSocket Class not found at design-time?
在 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
TServerSocket
在 RTL 单元 System.Win.ScktComp
中声明,但它在设计时似乎不可用,因为当我打开我的表单时它会抱怨:
TServerSocket class not found
[Ignore] [Cancel] [Ignore All]
但是我的项目编译并运行得很好(当此表单未在 IDE 中打开时)。我如何摆脱这个错误?
出于某种原因,默认情况下,包含此单元的 BPL 包未安装在 IDE。
你必须去:
Components -> Install Packages -> Add
然后select dclsockets160.bpl
in Embarcadero\RAD Studio.0\bin
(根据你的Delphi版本更改)
如何找出一个单元包含在哪个 RTL BPL 包中对我来说是个谜;它似乎没有被记录在任何地方。
ScktComp
中的组件已弃用并已弃用很长时间。您应该使用不同的组件,例如 Indy。弃用的一个重要原因是这些组件不是跨平台的。
如果将 dclsocketsNNN.bpl
包安装到 IDE 中,您仍然可以在设计时使用 ScktComp
组件。大概 Embarcadero 默认不安装这个包,因为它包含不推荐使用的组件。
在 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
TServerSocket
在 RTL 单元 System.Win.ScktComp
中声明,但它在设计时似乎不可用,因为当我打开我的表单时它会抱怨:
TServerSocket class not found [Ignore] [Cancel] [Ignore All]
但是我的项目编译并运行得很好(当此表单未在 IDE 中打开时)。我如何摆脱这个错误?
出于某种原因,默认情况下,包含此单元的 BPL 包未安装在 IDE。
你必须去:
Components -> Install Packages -> Add
然后select dclsockets160.bpl
in Embarcadero\RAD Studio.0\bin
(根据你的Delphi版本更改)
如何找出一个单元包含在哪个 RTL BPL 包中对我来说是个谜;它似乎没有被记录在任何地方。
ScktComp
中的组件已弃用并已弃用很长时间。您应该使用不同的组件,例如 Indy。弃用的一个重要原因是这些组件不是跨平台的。
如果将 dclsocketsNNN.bpl
包安装到 IDE 中,您仍然可以在设计时使用 ScktComp
组件。大概 Embarcadero 默认不安装这个包,因为它包含不推荐使用的组件。