COM/DCOM Exception Class

This article includes an updated SYSEX exception class. I would like to thank Dale Nagata for testing out the earlier version with an in-process server (something I had not done) and for pointing some nasty problems. The updated version includes fixes to these as well as some other enhancements.

The updated version now propagates error line number and file occurences in the source window as demonstrated above. It also includes some additional macros which you may or may not find useful. One of the issues pointed out by Dale was the inability of the previous version to display the correct module name in the source window when using an in-process server. The fix I decided on was to include an external global variable initialized as follows HINSTANCE g_hMODInstance=NULL which you can set in DLLMain.

#include "sysex.h"

BOOL WINAPI DllMain(HINSTANCE hInstance, 
                    DWORD dwReason, 
                    LPVOID /* lpReserved */)
{
 if (dwReason == DLL_PROCESS_ATTACH)
 {
  g_hMODInstance=hInstance;
  _Module.Init(ObjectMap, hInstance, &LIBID_SYSEXSERVERLib);
  DisableThreadLibraryCalls(hInstance);
 }
 else if (dwReason == DLL_PROCESS_DETACH)
 {
  g_hMODInstance=NULL;
  _Module.Term();
 }
 return TRUE;    // ok
}

I apologize for the delay in getting the fixes done. Please feel free to modify the code if you see fit.

Reg.

Downloads

Download demo project - 27 Kb
Download source - 5 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Thanks to wide spread cloud hosting and innovations small businesses can meet and exceed the legacy systems of goliath corporations. Explore the freedom to work how you want, with a phone system that will adapt to your evolving needs and actually save you lots of expense—read Get an Enterprise Phone System without High Cost and Complexity. The article clearly illustrates: The only hardware you'll need is phone equipment for advanced voice and fax. How to join all your employees, mobile devices, …

  • Intelligent N+X Redundancy, Placement Affinities, & Future Proofing in the Virtualized Data Center Virtualization brought about the ability to simplify business continuity management in IT. Workload portability and data replication capabilities mean that physical infrastructure failures no longer need impact application services, and they can rapidly be recovered even in the event of complete site failure. However, Enterprises and Service Providers face new challenges ensuring they have enough compute …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date