500分求这样一个类源码。
实现c++下类似com下的IDispatch接口类。
特征如下
Class CDispatch
{
CDispatch("dispatch_name");
//通过名称注册回调函数
reg_func("fucn_name",callback_func);
//调用类似IDispatch的Invoke
Invoke(("func_name",result_val,parme_num,...);
}
要求:
1,返回值可是用VARIANT类型或自己实现.
2,new出的同一dispatcvh name的实例,可以任意c++模块中调用,可以不需要跨语言
3,跨线程安全调用.
调用例子如下:
A模块中:
//全局函数func_1;
int fun_1(int i,char * c)
{
return i;
}
CDispatch a("dis");
a.reg_func("func1",fun_1);
B模块中:
CDispatch b("dis");
VARIANT v;
b.Invoke("func1",&result,2,1,"teststr");