iCAx开思工具箱

标题: 求助!各位高手们!关于SW2008的C++二次开发的问题. [打印本页]

作者: zww2001001    时间: 2008-3-13 11:04
标题: 求助!各位高手们!关于SW2008的C++二次开发的问题.
我用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] 是取到了正确的值,剩下的就报错.为什么会取不到剩下的呢???????
作者: zww2001001    时间: 2008-3-13 13:01
哪位好心人给点想法啊,急啊!!!!!!!!!!!!!!!!
作者: weifeng0715    时间: 2009-5-7 22:27
是不是获取的类型错误retval->IGetCustomInfoNames(bstrCustomInfoName);
可能获取的不全是bstr类型的
作者: chenbojiechina    时间: 2009-5-11 09:19
在bstrCustomInfoName = new BSTR[NumParams];后加上下面这句
ZeroMemory( bstrCustomInfoName , NumParams*sizeof( BSTR* ) );

用完后
delete [ ] bstrCustomInfoName ;
bstrCustomInfoName = NULL;




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