home *** CD-ROM | disk | FTP | other *** search
/ BUG 4 / BUGCD1997_05.BIN / aplic / visualj / vjtrial.exe / RCDATA / CABINET / mfcapwz.dll / TEMPLATE / DLGPROXY.CPP < prev    next >
C/C++ Source or Header  |  1997-01-28  |  3KB  |  91 lines

  1. // $$dlgautoproxy_ifile$$.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "$$root$$.h"
  6. #include "$$dlgautoproxy_hfile$$.h"
  7. #include "$$dlg_hfile$$.h"
  8.  
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14.  
  15. /////////////////////////////////////////////////////////////////////////////
  16. // $$DLGAUTOPROXY_CLASS$$
  17.  
  18. IMPLEMENT_DYNCREATE($$DLGAUTOPROXY_CLASS$$, $$DLGAUTOPROXY_BASE_CLASS$$)
  19.  
  20. $$DLGAUTOPROXY_CLASS$$::$$DLGAUTOPROXY_CLASS$$()
  21. {
  22.     EnableAutomation();
  23.     
  24.     // To keep the application running as long as an OLE automation 
  25.     //    object is active, the constructor calls AfxOleLockApp.
  26.     AfxOleLockApp();
  27.  
  28. $$IF(VERBOSE)
  29.     // Get access to the dialog through the application's
  30.     //  main window pointer.  Set the proxy's internal pointer
  31.     //  to point to the dialog, and set the dialog's back pointer to
  32.     //  this proxy.
  33. $$ENDIF //VERBOSE
  34.     ASSERT (AfxGetApp()->m_pMainWnd != NULL);
  35.     ASSERT_VALID (AfxGetApp()->m_pMainWnd);
  36.     ASSERT_KINDOF($$DLG_CLASS$$, AfxGetApp()->m_pMainWnd);
  37.     m_pDialog = ($$DLG_CLASS$$*) AfxGetApp()->m_pMainWnd;
  38.     m_pDialog->m_pAutoProxy = this;
  39. }
  40.  
  41. $$DLGAUTOPROXY_CLASS$$::~$$DLGAUTOPROXY_CLASS$$()
  42. {
  43.     // To terminate the application when all objects created with
  44.     //     with OLE automation, the destructor calls AfxOleUnlockApp.
  45.     //  Among other things, this will destroy the main dialog
  46.     AfxOleUnlockApp();
  47. }
  48.  
  49. void $$DLGAUTOPROXY_CLASS$$::OnFinalRelease()
  50. {
  51.     // When the last reference for an automation object is released
  52.     // OnFinalRelease is called.  The base class will automatically
  53.     // deletes the object.  Add additional cleanup required for your
  54.     // object before calling the base class.
  55.  
  56.     $$DLGAUTOPROXY_BASE_CLASS$$::OnFinalRelease();
  57. }
  58.  
  59. BEGIN_MESSAGE_MAP($$DLGAUTOPROXY_CLASS$$, $$DLGAUTOPROXY_BASE_CLASS$$)
  60.     //{{AFX_MSG_MAP($$DLGAUTOPROXY_CLASS$$)
  61.         // NOTE - the ClassWizard will add and remove mapping macros here.
  62.     //}}AFX_MSG_MAP
  63. END_MESSAGE_MAP()
  64.  
  65. BEGIN_DISPATCH_MAP($$DLGAUTOPROXY_CLASS$$, $$DLGAUTOPROXY_BASE_CLASS$$)
  66.     //{{AFX_DISPATCH_MAP($$DLGAUTOPROXY_CLASS$$)
  67.         // NOTE - the ClassWizard will add and remove mapping macros here.
  68.     //}}AFX_DISPATCH_MAP
  69. END_DISPATCH_MAP()
  70.  
  71. // Note: we add support for IID_I$$Safe_root$$ to support typesafe binding
  72. //  from VBA.  This IID must match the GUID that is attached to the 
  73. //  dispinterface in the .ODL file.
  74.  
  75. // {$$DISPIID_CLSID_ODL$$}
  76. static const IID IID_I$$Safe_root$$ =
  77. $$DISPIID_CLSID$$;
  78.  
  79. BEGIN_INTERFACE_MAP($$DLGAUTOPROXY_CLASS$$, $$DLGAUTOPROXY_BASE_CLASS$$)
  80.     INTERFACE_PART($$DLGAUTOPROXY_CLASS$$, IID_I$$Safe_root$$, Dispatch)
  81. END_INTERFACE_MAP()
  82.  
  83. $$IF(VERBOSE)
  84. // The IMPLEMENT_OLECREATE2 macro is defined in StdAfx.h of this project
  85. $$ENDIF //VERBOSE
  86. // {$$APP_CLSID_REG$$}
  87. IMPLEMENT_OLECREATE2($$DLGAUTOPROXY_CLASS$$, "$$Safe_root$$.Application", $$APP_CLSID_MACRO$$)
  88.  
  89. /////////////////////////////////////////////////////////////////////////////
  90. // $$DLGAUTOPROXY_CLASS$$ message handlers
  91.