![]() |
|||||||||||||||||||||
|
|||||||||||||||||||||
|
YukonSPY.dll - an overviewYukonSPY.dll is part #9 of The YUKON Project. This DLL has emerged from my famous "Event Spy" application. The YukonSPY is capable of registering xbeP_* events of Xbase++'s event queue, WM_* messages of Windows' message queue, OUTGOING COM method calls of Yukon, and INCOMING COM method calls originating from external processes. The YukonSPY.dll is an invaluable tool for myself. It is, with no doubt, a debug tool that has nothing to do with application development. However, YukonSPY.dll is deeply integrated into The YUKON Project and records/visualizes information that cannot be obtained with the Xbase++ debugger.
To activate the YukonSPY in an application, YukonSPY.LIB must be linked to an application and the information level
must be set by calling the SetYukonSpy() function. This is documented in depth in the YUKON documentation. The following
screen shot of YukonSPY gives you an idea about the information recorded by this debug tool:
This screen shot outlines an important feature of YukonSPY: information being recorded is prefixed with a three-letter sequence. app indicates an application event (xbeP_* event) and msg stands for a Windows message (WM_* message or any Common Controls related message).
Two more three-letter prefixes can appear in the Yukon SPY: xpp and com.
The xpp prefix indicates an OUTGOING COM method call (the COM method is invoked by the Xbase++ application),
while the com prefix indicates an INCOMING COM method call (the COM method is invoked by an external process).
Both prefixes are invaluable when creating COM server applications and tracing INCOMING and OUTGOING COM method calls.
This image is the YukonSPY result of calling ComCreateConnection() connecting to "Word.Application". All xpp prefixed lines are COM method calls from Xbase++ to Word, while all com prefixed lines are COM method calls from Word to Xbase++. It is clear that quite some things are going on behind the scenes when Xbase++ connects to Word. Normally you don't need to care about this. But you have the possibility to identify each single step in COM client/server communication with YukonSPY.dll. This is extremely helpful when something goes wrong, or when you get an unexpected result with your COM application. | ||||||||||||||||||||
| Copyright © Dr. Hannes Ziegler 2008 | |||||||||||||||||||||