我正在使用 Embarcadero RAD studio C++ builder XE 创建一个 C++ 应用程序。TServerSocket
应用程序在阻塞模式下使用动态创建的组件。我创建了一个派生类,TServerClientThread
它提供了一个自定义ClientExecute()
方法。这个类是通过我已经实现的TServerSocket
事件处理程序创建的。我为、和OnGetThread
分配事件处理程序。在我的线程类中,我使用类从套接字连接中读取和写入。OnAccept
OnClientConnect
OnClientDisconnect
OnClientError
TWinSocketStream
我使用一个自定义编写的类(派生自TComponent
),它创建TServerSocket
我分配的事件处理程序是此类的成员函数。
我的OnAccept
和OnClientDisconnect
事件触发,但OnClientConnect
和事件都没有OnClientError
触发。这是该组件的正常行为吗?我读到的关于这个组件的所有内容都表明所有事件都将TServerSocket
在阻塞模式下触发,我根本无法理解为什么这些事件不会触发。我还需要做些什么,或者这些事件在阻塞模式下不起作用?将TServerSocket
实例用作另一个TComponent
派生类的成员是否可能会导致一些问题?