bird168 发表于 2007-8-3 21:30:00

一个delphi开发cad的问题!(紧急)

<p>现在主要是想把一个标注对象添加到一个块中,本人采取的方法是CopyObjects,可是却遇到了一个始料不及的问题,苦想了好几个星期也没有解决,希望各位大虾救救我!该问题对我至关重要!</p><p>代码如下:</p><p>procedure TForm1.Button1Click(Sender: TObject);<br/>var</p><p>spnt,epnt,TextPosition:variant;</p><p>dimObject:acadDimAligned;<br/>dim:array of variant;<br/>i:integer;</p><p><br/>begin<br/>&nbsp;<br/>&nbsp; spnt:=varArrayCreate(,varDouble);<br/>&nbsp; epnt:=varArrayCreate(,varDouble);<br/>&nbsp; TextPosition:=varArrayCreate(,varDouble); <br/>&nbsp; spnt:=0;<br/>&nbsp; spnt:=54;<br/>&nbsp; spnt:=0;<br/>&nbsp; epnt:=6000;<br/>&nbsp; epnt:=54;<br/>&nbsp; epnt:=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //标注点坐标<br/>&nbsp; <br/>&nbsp; TextPosition:=(spnt+epnt)/2;<br/>&nbsp; TextPosition:=spnt+1000;<br/>&nbsp; TextPosition:=0;<br/>&nbsp; dimObject:=acad.ActiveDocument.ModelSpace.AddDimAligned(spnt,epnt,TextPosition);//向cad中添加一个标注<br/>&nbsp; dimobject.TextHeight:=30;<br/>&nbsp; dimobject.color:=acred;</p><p>&nbsp; dim:=dimobject;<br/>&nbsp; acad.ActiveDocument.CopyObjects(dim,blockobject,emptyparam);<br/>&nbsp; dimobject.Delete;</p><p>end;</p><p><br/>end.</p><p></p><p>j结果总是出现‘对象数组无效’这个错误。百思不得其解,估计问题出在dim这个参数上,就是出在原来这个程序要求的数组类型,在delphi中如何定义才能不会报错?</p><p></p><p></p><p>也许论坛上的朋友用delphi的不多,但可以告诉我把一个标注对象添加到一个块中,除了这个方法还有其他的方法没有?不胜感激!!!<br/></p>

bird168 发表于 2007-8-4 12:18:00

呵呵,问题已经自己解决了,居然要把数组初始化成Idispatch类型才可以。

phllchy 发表于 2009-11-19 18:54:00

哥们谢谢你了 今天被这个问题困扰了一天了
页: [1]
查看完整版本: 一个delphi开发cad的问题!(紧急)