MFC实现IDispatch自动化接口
以下是MFC实现IDispatch自动化接口的完整源码:
MyMath.h
#pragma once
class CMyMath : public COleDispatchDriver
{
public:
CMyMath();
CMyMath(LPDISPATCH pDispatch);
virtual ~CMyMath();
public:
double Add(double a, double b);
double Subtract(double a, double b);
double Multiply(double a, double b);
double Divide(double a, double b);
protected:
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
};
MyMath.cpp
#include "stdafx.h"
#include "MyMath.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
BEGIN_DISPATCH_MAP(CMyMath, COleDispatchDriver)
DISP_FUNCTION(CMyMath, "Add", Add, VT_R8, VTS_R8 VTS_R8)
DISP_FUNCTION(CMyMath, "Subtract", Subtract, VT_R8, VTS_R8 VTS_R8)
DISP_FUNCTION(CMyMath, "Mul