iCAx开思工具箱

标题: 创建ADDIN,应该用component还是extension? [打印本页]

作者: CAACATIA    时间: 2011-7-3 09:04
标题: 创建ADDIN,应该用component还是extension?
经实际测试,以下两种方式都可以实现添加工具条。
---------------------------------------------------------------------------
CATImplementClass(ShapeAddinLT, DataExtension,
                  CATBaseUnknown, ShapeAddin);
TIE_CATIShapeDesignWorkshopAddin(ShapeAddin);
------------------------------------------------------------------------
CATImplementClass(ShapeAddin,
                  Implementation,
                  CATBaseUnknown,
                  CATnull );
TIE_CATIShapeDesignWorkshopAddin(ShapeAddin);
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××
两种方式有什么区别呢??
在DataExtension这种方式里面,第四个参数有意义吗?
作者: 歆韵    时间: 2011-7-6 16:49
问过老师,说一般都用DataExtension方法,第四项是将创建的Addin后面加上LT字符就可以,但不理解其中的原因
作者: CAACATIA    时间: 2011-7-10 14:19
标题: 如果

歆韵 发表于 2011-7-6 16:49
问过老师,说一般都用DataExtension方法,第四项是将创建的Addin后面加上LT字符就可以,但不理解其中的原因


多谢回复
Extension是用来给已有的组件添加新功能的,第四项是写已有组件的名字。
比如 我有一个组件“OBJ”, 实现了一个接口A; 如果想让这个组件增加接口B的功能,就需要用Extension;第一个参数填写扩展组件的名称,如OBJExtB;第二个参数根据需要,可以是“DataExtension”/“CodeExtension”;第三个参数必须是“CATBaseUnknown”,第四个参数应该填写“OBJ”。 这就是CAA里面给已有组件增加新功能的方法。
但是在Addin这个应用里面,我发现多数的人/教材都说用 extension,但是我实际测试的结果如一楼,实在想不明白。如果用extension,第四个参数随便写一个名字(由于是随便写点,该组件根本不存在),那么它对谁extension呢?如果存在一个需要被extension的组件,那么这个组件是什么?
盼望哪位大神能给解释一下。




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3