[CAA]如何捕获CATIA事件

外部程序如何捕获CATIA事件消息, 例如 CATDeleteNotification ?

感觉CATIA消息有两种方式:1、利用CATICommunicator来进行消息的传播,SendRequect来发布,AssociateHandler来获取。这种方式实际时一个向特定的另一方发表消息,类似于通知。2、利用CATCallbackmanager来dispatchCallback,利用AddCallback来获取消息。这种方式实际是一方接听特定的另一方的消息。类似于广播。实际上两种方式都要有sender和receiver。但是不知道楼主要求的向外部程序提供消息行不行,因为CAA把消息封装了,如何进行的封装不了解。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-13
正常情况下,可以Addcallback到所有CATIA消息,但是有些消息的Publisher和消息名称需要查,Publisher用NUll肯定不行,因为每个消息有自己的Publisher;有些消息名也不好查,如鼠标移动的消息,只有鼠标移过某个组件或命令的消息,没有本身移动的消息,非常的奇怪。
第2个回答  2013-08-13
事实上,例程CAAObjectModelBase里面有相关的代码。Add...CB在重复使用在同一个消息上的时候,两个处理函数都将执行。因此,AddCallback或Add...CB只是注册了消息处理函数,没有托管系统消息,自己注册消息处理函数可能(没有测试过)会在系统处理之前完成。
第3个回答  2013-08-13
addcallback ,有消息的Publisher和消息名称. 但是如果用addcallback, 我该放在什么地方呢, 该有个地方来调用初始化他才可以。
第4个回答  2013-08-13
Send/ReceiveCallBackBackBone三者的区别和联系是什么?期盼高手告知
相似回答