我使用ATL制作不带界面的ActiveX dll时,在其中增加了连接点对象。现在的问题是。我需要在自定义的类中触发该事件。请问大虾们,我该怎么做呀。
查了些资料。一般都是使用PostMessage的方法。但因为我是菜鸟。还请大虾们给点代码参看参考哦。比如我怎么使用PostMessage方法。使用后,调用GetMessage该怎么调用。下面是我的代码,麻烦大家给看看。//这是在自己定义的类中的处理方法。
void CNumberMethod::Add( long a, long b )
{
long n = a + b;
UserStruct *UserData = new UserStruct(); UserData->nResult = n;
UserData->userType = 1;
::PostMessage( NULL , (UINT)UserData, NULL, NULL );
}//下面是一个线程中执行的函数。不断查询系统消息。
DWORD CRaiseEvent::FireEvent()
{
LPMSG msg;
UserStruct *UserData;

try
{
while( TRUE )
{
if( ::GetMessage( msg, NULL, NULL, NULL ) )
{
UserData = (UserStruct *)msg->message;
::MessageBox( NULL, _T(""), _T(""), NULL );
Fire_AddResult(UserData->nResult );
}
}
}
catch( ... )
{
return -1;
}
return 0;
}
当执行到if( ::GetMessage( msg, NULL, NULL, NULL ) )这里时,就没有反应了。在客户端调用也没有触发事件。请问为什么呀