Проблема объекта Winsock с WithEvents - PullRequest
0 голосов
/ 06 июня 2011

Я разрабатываю стандартный EXE-проект для отправки почты.

У меня есть модуль класса для отправки электронной почты с помощью winsock.

У меня есть переменная winsock withevents, установленная для элемента управления winsock формы.

Проблема в том, что события отлавливаются в обработчике событий элемента управления формы. Когда я комментирую процедуры обработки управляющих событий формы и помещаю точку останова в модуль класса с обработчиком событий переменной, я не могу перехватить события.

Пожалуйста, предложите обходной путь.

1 Ответ

0 голосов
/ 07 июня 2011

Если вам действительно нужно создать класс (маленький c), который оборачивает составляющие элементы управления, вы создаете UserControl, который может быть невидимым во время выполнения и вообще не взаимодействовать с пользовательским интерфейсом. Затем, как контейнер элемента управления Winsock, этот UserControl будет получать события, и вы сможете обрабатывать их там.

Я делаю это довольно часто, чтобы создавать высокоуровневые коммуникационные компоненты, перемещая внутри себя такие вещи, как протокол создания сообщений. Затем контейнер, на который я поместил эти пользовательские элементы управления, обрабатывает только события, возникающие, когда он, например, получает полные сообщения. Я сделал то же самое, чтобы создать встраиваемый элемент управления HTTP-сервера, возвращая события обратно в содержащую форму для обработки запросов GET / POST с параметрами и т. Д. Для предоставления веб-интерфейса.

A Class (большой C), Form и UserControl - это всего лишь три вида классов (маленький C), которые вы можете создать в VB6. «Модули классов» действительно должны были называться «UserClass», для ясности, задним числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...