2011-06-06 65 views
0

我正在开发一个用于发送邮件的标准EXE项目。WithEvents Winsock对象问题

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

我有一个withevents winsock变量设置为表单的winsock控件。

问题是事件正在窗体的控件事件处理程序中捕获。 当我评论表单的控制事件处理程序,并在类模块witheevents变量的事件处理程序中放置一个断点时,我很难捕捉事件。

请提出解决方法。

回答

0

如果您确实需要创建一个包含构成控件的类(小c),那么您将创建一个UserControl,该控件在运行时可能不可见,并且根本没有UI交互。然后,作为Winsock控件的容器,此UserControl将收到事件,并且您可以在那里处理它们。

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

类(大C),窗体和用户控件只是三种类(小c),你可以在VB6中创建。事后看来,“类模块”实际上应该被称为“UserClass”。