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

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:41

在多线程中,我用了一个 OCX 控件,现在在线程中响应控件的事件有点问题。


代码如下

.h 中

class TCommThread : public TThread
{            
private:
    TComm *comm;
protected:
    void __fastcall Execute();
    void __fastcall OnRecvMsg(TObject *Sender);
   
public:
    __fastcall TCommThread(bool CreateSuspended);
};


.cpp中

__fastcall TCommThread::TCommThread(bool CreateSuspended)
    : TThread(CreateSuspended)
{

    CoInitialize(NULL);
    comm=new TComm(comm);
    comm->OpenComm();
           
    comm->OnRecvMsg = OnRecvMsg;
}
//---------------------------------------------------------------------------
void __fastcall TCommThread::Execute()
{

    while(!Terminated){
        //ShowMessage("systen is active!");
        Sleep(2000);
    }
}
//---------------------------------------------------------------------------
void __fastcall TCommThread::OnRecvMsg(TObject *Sender)
{  
    ShowMessage("have new message!");
}



请高手指点
comm->OnRecvMsg = OnRecvMsg;

为什么始终不能响应这个事件呢?


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

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