mycomproobjimpl.h
来自「C++Builder高级应用开发指南随书源码」· C头文件 代码 · 共 74 行
H
74 行
// MYCOMPROOBJIMPL.H : Declaration of the TMyComProObjImpl
#ifndef MyComProObjImplH
#define MyComProObjImplH
#include "ComProDll_TLB.H"
#define _MTX_NOFORCE_LIBS
#include <vcl\mtshlpr.h>
/////////////////////////////////////////////////////////////////////////////
// TMyComProObjImpl Implements IMyComProObj, default interface of MyComProObj
// ThreadingModel : tmApartment
// Dual Interface : TRUE
// Event Support : FALSE
// Default ProgID : ComProDll.MyComProObj
// Description :
/////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE TMyComProObjImpl :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<TMyComProObjImpl, &CLSID_MyComProObj>,
public IObjectControl,
public IDispatchImpl<IMyComProObj, &IID_IMyComProObj, &LIBID_ComProDll>
{
public:
TMyComProObjImpl()
{
FMoney=0;
}
// Data used when registering Object
//
DECLARE_THREADING_MODEL(otApartment);
DECLARE_PROGID("ComProDll.MyComProObj");
DECLARE_DESCRIPTION("");
// Function invoked to (un)register object
//
static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
{
TTypedComServerRegistrarT<TMyComProObjImpl>
regObj(GetObjectCLSID(), GetProgID(), GetDescription());
return regObj.UpdateRegistry(bRegister);
}
DECLARE_NOT_AGGREGATABLE(TMyComProObjImpl)
BEGIN_COM_MAP(TMyComProObjImpl)
COM_INTERFACE_ENTRY(IMyComProObj)
COM_INTERFACE_ENTRY(IObjectControl)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IObjectControl
public:
STDMETHOD(Activate)();
STDMETHOD(Deposit(long Value));
STDMETHOD(get_Money(long* Value));
STDMETHOD(WithDraw(long Value));
STDMETHOD_(BOOL, CanBePooled)();
STDMETHOD_(void, Deactivate)();
CComPtr<IObjectContext> m_spObjectContext;
// IMyComProObj
public:
private:
long FMoney;
};
#endif //MyComProObjImplH
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?