Flyingdancing 发表于 2012-7-14 12:28:00

getpoint 变量未设置

/images/42dp0zwu1ab.gif
Sub data_x()
/images/afach2vuwkp.gif
Dim linex As AcadLine
/images/afach2vuwkp.gif
Dim pt(1) As AcadPoint
/images/afach2vuwkp.gif
Dim part As AcadPoint
/images/afach2vuwkp.gif
Dim doubl As Double
/images/afach2vuwkp.gif
pt(0) = ThisDrawing.Utility.GetPoint
/images/afach2vuwkp.gif
pt(1) = ThisDrawing.Utility.GetPoint()
/images/afach2vuwkp.gif
Set linex = ThisDrawing.ModelSpace.AddLine(pt(0), pt(1))
/images/afach2vuwkp.gif
End Sub                还有:
               
/images/42dp0zwu1ab.gif
Sub data_x()
/images/afach2vuwkp.gif
Dim linex As AcadLine
/images/afach2vuwkp.gif
Dim pt1, pt2 As AcadPoint
/images/afach2vuwkp.gif
Dim part As AcadPoint
/images/afach2vuwkp.gif
Dim doubl As Double
/images/afach2vuwkp.gif
pt1 = ThisDrawing.Utility.GetPoint(, "a")
/images/afach2vuwkp.gif
pt2 = ThisDrawing.Utility.GetPoint(, "d")
/images/afach2vuwkp.gif
Set linex = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
/images/afach2vuwkp.gif
End Sub
                这样的时候就是pt2时报错……
我知道用variant的
只是,这两者之间的差别让我费解。有人能解释下么?

雪山飞狐_lzh 发表于 2012-7-14 22:48:00


Dim pt1, pt2 As AcadPoint
VB里这样声明是错误的
等同于
Dim pt1 as variant, pt2 As AcadPoint
不过VB.Net可以。。。

woaishuijia 发表于 2012-7-15 09:52:00

getpoint方法得到的是三维点坐标,是一个三元素双精度数组.声明变量时应该声明为变体变量(双精度动态数组也可以)
而楼主声明为acadpoint是不对的,这是一个单点对象,是一个图元,要用addpoint方法画出来的.
二者风马牛不相及.

Flyingdancing 发表于 2012-7-15 12:57:00


……这样啊
我是看例子里面都是这样定义的……
怪不得

sscylh 发表于 2012-9-11 19:00:00

Dim pt1, pt2 As AcadPoint
改为:dim pt1,pt2
页: [1]
查看完整版本: getpoint 变量未设置