明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1732|回复: 4

提问lzh741206斑竹

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

发表于 2004-10-26 15:33:00 | 显示全部楼层
vb里面这些也是多余的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 00:59 , Processed in 0.181338 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表