找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

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

求助!各位高手们!关于SW2008的C++二次开发的问题.

[复制链接]
跳转到指定楼层
1
发表于 2008-3-13 11:04:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我用IGetCustomInfoNames去取零件图的所有自定义属性的名称,
API是status = ModelDoc->IGetCustomInfoNames( retval )
Output:    (BSTR*) retval                            Array of the custom property names
Return: (HRESULT) status                          S_OK if successful
而我的程序:
......
swApp->IOpenDoc(FilePath,1,&retval);
BSTR * bstrCustomInfoName;
LONG NumParams =0;
retval->GetCustomInfoCount(&NumParams);//NumParams得到的是4
bstrCustomInfoName = new BSTR[NumParams];
retval->IGetCustomInfoNames(bstrCustomInfoName);
........
结果只有bstrCustomInfoName[0] 是取到了正确的值,剩下的就报错.为什么会取不到剩下的呢???????
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2008-3-13 13:01:54 | 只看该作者
哪位好心人给点想法啊,急啊!!!!!!!!!!!!!!!!
3
发表于 2009-5-7 22:27:32 | 只看该作者
是不是获取的类型错误retval->IGetCustomInfoNames(bstrCustomInfoName);
可能获取的不全是bstr类型的
4
发表于 2009-5-11 09:19:34 | 只看该作者
在bstrCustomInfoName = new BSTR[NumParams];后加上下面这句
ZeroMemory( bstrCustomInfoName , NumParams*sizeof( BSTR* ) );

用完后
delete [ ] bstrCustomInfoName ;
bstrCustomInfoName = NULL;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-20 02:22 , Processed in 0.033100 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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