提问lzh741206斑竹
关于vbnet代码不能运行的问题vbnet与vb不同在于原来的variant类型都变成了object类型,但是我在用选择筛选的时候发现代码老是通不过,典型的用getentity如下:
Dim acadobj As Object<BR> Dim acaddoc, acadutil As Object<BR> Dim returnobj As Object<BR> Dim d As Object
acadobj = GetObject(, "AutoCAD.Application.16")<BR> acaddoc = acadobj.ActiveDocument<BR> acadutil = acaddoc.Utility<BR> AppActivate("Autocad")
Call acadutil.GetEntity(returnobj, d, "..选择物体") ***在这一句提示类型不匹配。 同样这一句是筛选文本的,也运行不通过,在最后一句出现错误。
acadobj = GetObject(, "AutoCAD.Application.16")<BR> acaddoc = acadobj.ActiveDocument<BR> mospace = acaddoc.ModelSpace<BR> acadutil = acaddoc.Utility<BR> AppActivate("Autocad")
'选择文本创建选择集<BR> sset = acaddoc.SelectionSets.Add("my")<BR> '定义过滤组码数据<BR> Dim gpcode(0) As Integer<BR> Dim datavalue(0) As String<BR> gpcode(0) = 0<BR> datavalue(0) = "Text"<BR> Dim groupcode As Object<BR> Dim datacode As Object<BR> groupcode = gpcode<BR> datacode = datavalue<BR> acadutil.prompt("请选择修改的文本:")<BR> Call sset.SelectOnScreen(groupcode, datacode)<BR> 不用Call
Dim gpcode(0) As Short<BR>Dim datavalue(0) As Object<BR>
下面是多余的
Dim groupcode As Object<BR> Dim datacode As Object<BR> groupcode = gpcode<BR> datacode = datavalue 在vb里面通常需要先定义数组再进行数据类型的转化(特别是在筛选多于1个的时候),是不是在net里面就没有必要转化了?还是因为这个只有一个筛选类型,所以没有?还是本来在net里面只要
Dim gpcode(n) As Short<BR>Dim datavalue(n) As Object<BR>sset.SelectOnScreen(gpcode,datavalue)
就可以了。试验了一下,原来这个比vb方便多了,省了两个变量和变量的转化。
谢谢斑竹,但是我第一楼的问题还不好解决,我拿掉了call后还是提示数据类型出错。<BR>
<BR> vb里面这些也是多余的代码
页:
[1]