Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2338166
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:08:54

我的任务是写一个组件,提供几种可选的业务模型来调用相应的行为Action,比方说排队系统中的到达.
在我的模型中需要使用timesetEvent这个时钟函数,由它调用需要的动作,因此我的组件接口需要的就是行为Action的函数指针.

问题是timesetEvent中的回调函数是规定的void CALLBACK TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2)形式,而且我自己还有一个计数器函数需要在其中为这种行为计数,所以我想写一个类,把两个函数合并成一个timesetEvent的标准回调函数.

但是它编译通不过,怎么回事?好象是CALLBACK 是静态类型,不能这样使用,怎么办恳请高手指点
//------这个类把两个函数合并成一个timesetEvent的标准回调函数----------------
class FunctionVert
{
  private:
        void (*funtion1)();
        void (*funtion2)();
  public:
        FunctionVert(void (*Function1)(),void (*Function2)());
        void CALLBACK TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2);
};
//---------------------------------------------------------------------------
FunctionVert::FunctionVert(void (*Function1)(),void (*Function2)())
{
  function1 = Function1;
  function2 = Function2;
}
//---------------------------------------------------------------------------
void CALLBACK FunctionVert::TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2)
{
  function1();
  function2();
}

--------------------next---------------------

阅读(1389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~