找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 20382|回复: 8
打印 上一主题 下一主题

[求助]unauthorized API for CAA V5

[复制链接]
跳转到指定楼层
1
发表于 2007-7-16 19:18:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
...
# CAAV5-ERROR: unauthorized API for CAA V5:
# CAAV5-ERROR:    -> any
...

unauthorized API for CAA V5?
什么意思? 如何解决呢?
没有认证的API,我就没法使用了吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2007-7-16 19:40:46 | 只看该作者
我是需要用到  CATSafeArrayVariant

...
CATISpecObject_var spTmp = ...;
CATVariant * oVariantToCreateFromAny = NULL;
rc = ::ConvertAnyToVariant(spTmp ,oVariantToCreateFromAny);
listElements =::BuildFromVariantArray(oVariantToCreateFromAny, k);
...

mkmk时, 提示:
# CAAV5-ERROR: unauthorized API for CAA V5:
# CAAV5-ERROR:    -> any

[ 本帖最后由 hick 于 2007-7-16 20:22 编辑 ]
3
发表于 2007-7-16 20:25:18 | 只看该作者
CATSafeArrayVariant *listElements = NULL;
CATListValCATISpecObject_var listSpecObject;
...
HRESULT rc = ::FillSafeArrayVariant(listElements, (const CATBaseDispatch**)&listSpecObject, iSize);

这里有什么错误?  FAILED(rc)

tks
4
发表于 2007-7-17 13:51:46 | 只看该作者
不理解哦  
ConvertAnyToVariant,BuildFromVariantArray 这两个函数我的版本查不到,它们应该也是System Framework 里的吧?  
是否API 的不完全呢?
期待高手
5
发表于 2007-7-17 16:11:09 | 只看该作者
ConvertAnyToVariant,BuildFromVariantArray不是为CAA提供的,是为Automation提供的。

如果要使用CATVariant,CAA提供的方法是BuildSafeArrayVariant,BuildVariant和ConvertSafeArrayVariant,ConvertVariant。
6
发表于 2007-7-17 19:52:15 | 只看该作者
非常感谢俩位!

头文件CATAutoConversions.h
ExportedByJS0DSPA CATSafeArrayVariant* BuildSafeArrayVariant(const CATBaseDispatch ** iObjectArray,  long iSize);

代码如下:
CATSafeArrayVariant *listElements = NULL;
CATListValCATISpecObject_var listSpecObject;
listSpecObject.Append(spObj1);
listSpecObject.Append(spObj2);
listElements = BuildSafeArrayVariant((const CATBaseDispatch**)&listSpecObject, 2);  //这句话有错!

我如何来构造一个CATSafeArrayVariant 对象数组呢? 
7
发表于 2007-7-18 09:59:41 | 只看该作者
先QI到CATIABase再转,如果QI不到就不行。
8
发表于 2007-7-19 00:16:59 | 只看该作者
#include "CATAutoConversions.h"

//ExportedByJS0DSPA
//CATSafeArrayVariant* BuildSafeArrayVariant(const CATBaseDispatch ** iObjectArray,  long iSize);

CATSafeArrayVariant *listElements = NULL;

CATBaseDispatch* pBD1 = null;
spObj1->QueryInterface( IID_CATBaseDispatch, (void**)&pBD1);
CATBaseDispatch* pBD2 = null;
spObj2->QueryInterface( IID_CATBaseDispatch, (void**)&pBD2);

//const CATBaseDispatch** ppBD = new CATBaseDispatch*[2];
CATBaseDispatch** ppBD = new CATBaseDispatch*[2];
ppBD[0] = pBD1;
ppBD[1] = pBD2;

listElements = BuildSafeArrayVariant( ppBD,  2);  
//is it OK?
9
发表于 2007-7-19 00:48:29 | 只看该作者
非常感谢acoka !
谢谢horizan,ririyeyjl

正如acoka的方法,问题解决了,不应该用CATListValCATISpecObject_var
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-23 06:57 , Processed in 0.032003 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表