|
自己写了一段代码如下:
CString blockName=pos->first;//得到块名
CAcadBlock m_block=m_acadDoc.ObjectIdToObject(pos->second);//得到块对象,跟块名放在同一个Pair里
std::vector m_acadList=m_entityList[blockName]; //得到实体的ID集合
int num2=m_acadList.size();//得到实体数量
CComVariant var1;
var1.vt=VT_DISPATCH|VT_ARRAY;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].cElements=num2;
rgsabound[0].lLbound=0;
var1.parray=SafeArrayCreate(VT_VARIANT,1,rgsabound);
for(long j=0;j
m_acadDoc.CopyObjects(var1,var2,NULL);调用拷贝函数,这句话有问题.
看了很多资料,都是用VB写的,用一个可变Object数组就可以了,可是我其他程序都是用C++完成,检查了很长时间,没有发现问题,只好求教版主了?谢谢 |
|