CopyObjects中第一个参数实体数组怎么表示?
<p>看了很多代码,感觉在vb中只要定义Dim retVal() As AcadEntity,就可以调用CopyObjects,可是在c++中第一个参数是VARIANT*,到底怎样才能把CAcadEntity数组转化为VARIANT*呢?我现在使用的是: </p><p>CComVariant var1;<br/>var1.vt=VT_DISPATCH|VT_ARRAY;<br/>SAFEARRAYBOUND rgsabound;<br/>rgsabound.cElements=num2;<br/>rgsabound.lLbound=0;<br/>var1.parray=SafeArrayCreate(VT_VARIANT,1,rgsabound);<br/>for(long j=0;j<num2;j++)<br/>{<br/> LPDISPATCH entity=m_acadDoc.ObjectIdToObject(m_acadList.at(j));<br/> SafeArrayPutElement(var1.parray,&j,&entity);</p><p>}</p><p>提出出错,到底该怎么办呢?非常感谢,着急ing</p><p></p>
页:
[1]