lennie 发表于 2010-12-16 18:55:00

【求助】后绑定导致程序运行失败


      For Each Entry In SsTuKuang
            If StrComp(Entry.EntityName, "AcDbBlockReference", 1) = 0 Then
            Set Block_obj = Entry
如果引用CAD类型库   
    Dim Entry   As AcadEntity
    Dim Block_obj As AcadBlockReference
程序可以顺利运行

如果采用后绑定
    Dim Entry   As object
    Dim Block_obj As object
程序运行到Set Block_obj = Entry就会出现错误:“未设置对象变量或 With Block变量”

mccad 发表于 2010-12-16 19:32:54

既然对象类型都明确了,还定义成Object就没有意义了。

lennie 发表于 2010-12-17 09:30:47

明总,因为是DLL所以无法调试。今天我按你的意思取消了Block_obj,直接用Entry.InsertionPoint还是同样的错误。是不是调用InsertionPoint属性必须要明确对象是AcadBlockReference?

xinghesnak 发表于 2010-12-17 11:03:33

都声明成变体试试

lennie 发表于 2010-12-17 11:59:04

Variant 也不行

sxpd 发表于 2010-12-17 13:34:50

用For i = 0 to ss.Count - 1试试

lennie 发表于 2010-12-17 18:21:38

问题解决了。insertpoint必须要先赋值给variants,然后才能读取。
页: [1]
查看完整版本: 【求助】后绑定导致程序运行失败