|
-
Feb 7th, 2017, 02:25 PM
#15
Re: Detect whether an event handler is attached to a VB6 ActiveX control's event
I alluded to this earlier - as far as the Component is concerned, an event Sink supplies a Source interface, and it's is all or nothing. it's not selective - per event.
You either have events or you don't.
The runtime hides the implemented source interface and selectively forwards to the events you supplied handlers for.
so anything short of dissassembling the access VBA runtime to see which events have handlers, isn't going to get you there from the component side.
sources:
http://www.codeguru.com/cpp/com-tech...time-Sinks.htm
http://thrysoee.dk/InsideCOM+/ch08b.htm#171
this also tells me that it's not possible to speed up a single event by "disabling" other events.
@wisekat That's what I thought your theory was.
every RaiseEvent is basically an IDispatch::Invoke() on a runtime supplied Sink.
you're going to have to break binary compatibility and add a function to filter which events you want raised from the component.
Last edited by DEXWERX; Feb 7th, 2017 at 03:03 PM.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|