Один обработчик для всех элементов коллекции. Возможно ли? - VB
Формулировка задачи:
Надо подписаться на события каждого объекта, содержащегося в коллекции.
Есть ли такая возможность в VB6?
или придется объекты держать в массиве?
Есть ли такая возможность в VB6?
или придется объекты держать в массиве?
Решение задачи: «Один обработчик для всех элементов коллекции. Возможно ли?»
textual
Листинг программы
‘это индивидуальная переменная класса именно того типа, ‘события которого собираемся перехватывать <font color="blue">Private</font> <font color="blue">WithEvents</font> pEventSource <font color="blue">as</font> AppropriateType ‘это ссылка на наш экспозитор-медиатор <font color="blue">Private</font> pExpositor <font color="blue">as</font> clsEventMediator ‘инициализация оболочки <font color="blue">Sub</font> Init(uInformed <font color="blue">as</font> clsEventMediator, pSource <font color="blue">as</font> AppropriateType)… <font color="blue">Set</font> pEventSource=pSource <font color="blue">Set</font> pExpositor= uInformed ‘--------------------------------------------------------------------------- ‘ избежать «жесткой связи» с «медиатором» можно примерно так (по McKinney) ‘ <font color="blue">Dim</font> tmpObj <font color="blue">as</font> clsEventMediator ‘<font color="blue">Dim</font> lngPtr <font color="blue">as</font> <font color="blue">Long</font> ‘lngPtr = ObjPtr(uInformed) ‘CopyMemory tmpObj, lngPtr, <font color="darkblue"><b>4</b></font> ‘<font color="blue">Set</font> pExpositor= tmpObj ‘ CopyMemory tmpObj <font color="darkblue"><b>0</b></font>&, <font color="darkblue"><b>4</b></font> ‘целесообразность и полезность – по собственному усмотрению ‘-------------------------------------------------------------------------- …трам-пам-пам – тут, по необходимости, обеспечили допривязку событий от pEventSource ‘ к приватным функциям, «подписывающимся» на события и выполнили прочий стартовый код… <font color="blue">End</font> <font color="blue">Sub</font> ‘это экземпляр функции-получателя события <font color="blue">Private</font> <font color="blue">Sub</font> pEventSource_SomeEvent(<font color="blue">byVal</font> param1 <font color="blue">As</font> Tram, <font color="blue">byRef</font> param2 <font color="blue">As</font> Pam) …’тут еще чуть-чуть поговорим… <font color="blue">End</font> <font color="blue">Sub</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д