"[5164] Failed calling of COM event: Member not found"
Posted: Mon Dec 31, 2012 3:34 pm
I recently got the DbgView program. I have a webserver extension for MM, written in Python, that uses the COM interface.
I first noticed that when my server is running with MM_dbg (4.07) that the DbgView window is showing these messages, two or three at a time:
"[5164] Failed calling of COM event: Member not found"
To debug this, I closed the server (which stopped the messages), opened a Python window, and stepped thru the server setup. I notice that as soon as I instantiate a COM object with Event support, DbgView starts spewing out those messages, in much larger numbers: maybe twelve at a time. It's hard to tell from the timestamps exactly how these are spaced, but there does seem to be pause between groups of messages. These keep getting dumped until the dispatch object is destroyed.
When the server is running, the event-handling object is polled about every half-second by a background thread. The polling queries Player.isPlaying, Player.StopAfterCurrent, and Player.CurrentSongIndex. That's it; no other interaction with the object. But once that thread starts, the number of messages output at at time drops to just a few, like I originally saw.
I'm guessing this means my object is supposed to have event-handling methods that are not being detected, but those methods should be in place. My application gets the events as expected, but it's only handling six events explicitly. The default behavior is supposed to be built into the COM object; there shouldn't be any missing anything.
How can I figure out what's missing here, and how can I find out whether it's important?
I first noticed that when my server is running with MM_dbg (4.07) that the DbgView window is showing these messages, two or three at a time:
"[5164] Failed calling of COM event: Member not found"
To debug this, I closed the server (which stopped the messages), opened a Python window, and stepped thru the server setup. I notice that as soon as I instantiate a COM object with Event support, DbgView starts spewing out those messages, in much larger numbers: maybe twelve at a time. It's hard to tell from the timestamps exactly how these are spaced, but there does seem to be pause between groups of messages. These keep getting dumped until the dispatch object is destroyed.
When the server is running, the event-handling object is polled about every half-second by a background thread. The polling queries Player.isPlaying, Player.StopAfterCurrent, and Player.CurrentSongIndex. That's it; no other interaction with the object. But once that thread starts, the number of messages output at at time drops to just a few, like I originally saw.
I'm guessing this means my object is supposed to have event-handling methods that are not being detected, but those methods should be in place. My application gets the events as expected, but it's only handling six events explicitly. The default behavior is supposed to be built into the COM object; there shouldn't be any missing anything.
How can I figure out what's missing here, and how can I find out whether it's important?