也问个关于Atl事件触发的问题
我使用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 ) )这里时,就没有反应了。在客户端调用也没有触发事件。请问为什么呀
查了些资料。一般都是使用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 ) )这里时,就没有反应了。在客户端调用也没有触发事件。请问为什么呀
...全文
相关推荐
ICESAT-2 +ATL03 + ATL08
该卫星产生的两个关键数据产品是ATL03和ATL08,它们在地表特征高度分析中扮演着重要角色。**ATL03 数据**提供了卫星经过地球表面时记录的光子(激光脉冲反射)的详细信息。
atl开发指南 atl开发指南 atl开发指南 atl开发指南 atl开发指南
. ** ATL事件处理**:ATL支持事件处理,通过IDispEventImpl模板,可以轻松地实现对IDispatch接口事件的支持。
C#的COM事件在C++和JAVA中触发和响应的实现
`TriggerEvent`方法来触发事件。
duilibTreeView ATL WTL MFC 支持
例如,利用ATL的COM能力,可以将duilibTreeView与远程服务进行交互;通过WTL的控件增强,可以实现自定义的视图样式;而MFC的事件处理机制则确保了用户交互的平滑和响应性。
ATL编程书籍-学习ATL的初学者必备。
. ** ATL COM+支持**:ATL还支持COM+服务,如事务处理、事件模型和对象池。学习如何利用这些服务可以提升应用程序的性能和可靠性。


