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