Vb6 WithEvents的Winsock对象问题

Vb6 WithEvents的Winsock对象问题,vb6,Vb6,我正在开发一个用于发送邮件的标准EXE项目 我有一个使用winsock发送电子邮件的类模块 我将withevents winsock变量设置为窗体的winsock控件 问题是事件被捕获到表单的控件事件处理程序中。 当我对表单的控制事件处理过程进行注释,并将断点放在带有eevents变量的事件处理程序的类模块中时,我无法捕获事件 请建议一种解决方法。如果您真的需要创建一个类(小c)来包装组成控件,您可以创建一个UserControl,它在运行时是不可见的,并且没有任何UI交互。然后,作为Winso

我正在开发一个用于发送邮件的标准EXE项目

我有一个使用winsock发送电子邮件的类模块

我将withevents winsock变量设置为窗体的winsock控件

问题是事件被捕获到表单的控件事件处理程序中。 当我对表单的控制事件处理过程进行注释,并将断点放在带有eevents变量的事件处理程序的类模块中时,我无法捕获事件


请建议一种解决方法。

如果您真的需要创建一个类(小c)来包装组成控件,您可以创建一个UserControl,它在运行时是不可见的,并且没有任何UI交互。然后,作为Winsock控件的容器,这个UserControl将接收事件,您可以在那里处理它们

我经常这样做是为了创建更高级别的通信组件,将消息帧协议之类的东西移动到内部。然后,我将这些UserControls放在其中的容器仅处理在收到完整消息时引发的事件,例如。我也做了同样的事情来创建一个可嵌入的HTTP服务器控件,将事件发回包含表单以处理带有参数的GET/POST请求,等等,以提供一个Web UI

类(大C)、窗体和用户控件只是可以在VB6中创建的三种类(小C)。事后看来,为了清楚起见,“类模块”真的应该被称为“用户类”