guohq 发表于 2014-8-31 20:58:04

参数的值返回不了,求解决!

在VS里新建了一个项目(已经将 为com生成互操作 选中)

下面是部分代码:


Public Class PointEx
      Public Function GetPointZCoord(ByVal Pt As Object, ByRef ZCoord As Double) As Boolean
            Try
                If Pt Is Nothing OrElse Pt.ObjectName <> "AcDbPoint" Then
                  Return False
                End If

                Dim Coord() As Double = Pt.Coordinates()
                ZCoord = Coord(2)
                Return True
            Catch ex As Exception
                Return False
            End Try
      End Function
    End Class
现在需要在lisp里调用 ,代码如下:(setq ptTool (vlax-create-object "VLispEx.PointEx")) ;此处能正常运行
(setq Z 0)
(vlax-invoke ptTool 'GetPointZCoord (vlax-ename->vla-object (car (entsel))) Z);此处也能正常运行,就是Z的值返回不了,为何?
(vlax-release-object ptTool)
请问为什么返回不了 Z 的值?应该怎么处理?

guohq 发表于 2014-9-2 08:30:21

自己顶一下!!

AbnerXk 发表于 2014-9-2 08:33:59

VS不懂,应该是你VS函数的问题?

自贡黄明儒 发表于 2014-9-2 08:44:11

本帖最后由 自贡黄明儒 于 2014-9-2 08:48 编辑

楼主会VS,显然已经是高手了。我只会lisp,也许帮不了你。
对于vla-Get-Coordinates函数,我也一直纳闷,只取得二维点坐标。vl好多函数都是这样设计的
页: [1]
查看完整版本: 参数的值返回不了,求解决!