2014-07-16 21:53:19|?次阅读|上传:wustguangh【已有?条评论】发表评论
关键词:CAA, CATIA|来源:唯设编程网
使用CATBeginImplementClass宏替换了CATImplementClass宏。CATAddClassExtension宏用于添加一个适用于该扩展类的被扩展类,CATEdnImplementClass宏结束相关扩展系列的声明。
你在一个新类的源文件(.cpp)中按照如下方式声明一个已经存在的扩展:
ATSupportImplementation(ExtensionClassName, MyClassName, ImplementedInterface); |
CATSupportImplementation宏允许已经存在的扩展添加到新类中。
在上面的代码实例中,当实现CATIData时使用到了如下的代码:
... CATImplementClass(CAAEDataExtension, // Extension class name DataExtension, // Data extension CATBaseUnknown, // Base component - Always OM-derive TIE extensions from CATBaseUnknown MyObject); // Implementation class of the extended component
#include "TIE_CATIData.h" TIE_CATIData(CAAEDataExtension); ... |
下面来分析这些代码:
1. 类的名称。
2. CAA V5 对象模型类的类型。有效的值是Implementation,DataExtension和CodeExtension。
3. 组件OM派生所对应主类的名字,在如下情形有效:
在如下情况无效:
在最后两种情况中,这个参数应该被设置成CATBaseUnknown或者CATNull。
4. 如果类是一个扩展使用被扩展组件的名字,如果类是一个实现使用CATNull。