⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myautoobjimpl.h

📁 C++Builder高级应用开发指南随书源码
💻 H
字号:
// MYAUTOOBJIMPL.H : Declaration of the TMyAutoObjImpl

#ifndef MyAutoObjImplH
#define MyAutoObjImplH

#include "AutoServ_TLB.H"


/////////////////////////////////////////////////////////////////////////////
// TMyAutoObjImpl     Implements IMyAutoObj, default interface of MyAutoObj
//                  and IMyAutoObjEvents, the default source interface
// ThreadingModel : Apartment
// Dual Interface : TRUE
// Event Support  : TRUE
// Default ProgID : AutoServ.MyAutoObj
// Description    : My Automation Object
/////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE TMyAutoObjImpl : 
  public CComObjectRootEx<CComSingleThreadModel>,
  public CComCoClass<TMyAutoObjImpl, &CLSID_MyAutoObj>,
  public IConnectionPointContainerImpl<TMyAutoObjImpl>,
  public TEvents_MyAutoObj<TMyAutoObjImpl>, 
  public IDispatchImpl<IMyAutoObj, &IID_IMyAutoObj, &LIBID_AutoServ>
{
public:
  TMyAutoObjImpl()
  {
  }

  // Data used when registering Object 
  //
  DECLARE_THREADING_MODEL(otApartment);
  DECLARE_PROGID("AutoServ.MyAutoObj");
  DECLARE_DESCRIPTION("My Automation Object");

  // Function invoked to (un)register object
  //
  static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
  {
    TTypedComServerRegistrarT<TMyAutoObjImpl> 
    regObj(GetObjectCLSID(), GetProgID(), GetDescription());
    return regObj.UpdateRegistry(bRegister);
  }


BEGIN_COM_MAP(TMyAutoObjImpl)
  COM_INTERFACE_ENTRY(IMyAutoObj)
  COM_INTERFACE_ENTRY2(IDispatch, IMyAutoObj)
  COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
END_COM_MAP()

BEGIN_CONNECTION_POINT_MAP(TMyAutoObjImpl)
  CONNECTION_POINT_ENTRY(DIID_IMyAutoObjEvents)
END_CONNECTION_POINT_MAP()

// IMyAutoObj
public:
 
  STDMETHOD(get_Text(long* Value));
  STDMETHOD(set_Text(long Value));
};

#endif //MyAutoObjImplH

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -