AutoCAD 2010、VB的问题
我在vb6中有很多DLL,从autocad 2004到autocad 2009,它们的工作非常有魅力但是现在我在使用AutoCAD 2010时遇到了很多问题
所有VB6 DLL的架构为
初始化类
在vbModal中显示窗体(如果我尝试无模式执行,则窗体不会显示)
按运行命令按钮,隐藏表单,向autocad发送提示,并尝试在屏幕上进行选择
但随后AutoCAD被阻止,选择光标出现在屏幕上,但我无能为力,必须从windows任务管理器中终止AutoCAD
当我从没有窗体的vb6 dll中进行屏幕选择时,不会出现此问题
谁知道AutoCAD 2010发生了什么?不想重写网络中的所有代码 32位还是64位版本?
我们说的是VB 6.0和Service Pack 5,对吗? 32位
VB6 SP6
像这样的东西只是在我的计算机中阻止autocad 2010
测验拉链 我很清楚,AutoCAD 2010和VB 6.0都是32位的,对吗? 对
这太奇怪了,因为它在调试dll时工作得很好,但在编译dll后就不行了
我这样修改了代码
私有子命令1\u Click()
Dim objSelset作为AcadSelectionSet
错误转到错误控制
':::::::::::::::::::::::::::::::::::
我隐藏
林匹亚迪布
设置xAcad=GetObject(,“AutoCAD.Application.18”)
设置ThisDrawing=xAcad。活动文档
设置objSelset=ThisDrawing。选择集。添加(“SS2”)
对象集。在屏幕上选择
MsgBox对象集。计数
出口:
我显示
出错时继续下一步
此图纸。选择集。项目(“SS2”)。删除:Set objSelset=Nothing
犯错误清楚的
出口接头
错误控制:
MsgBox“菜单测试错误。”&犯错误数字(“&Err.Description&”)de“&Err。源,vbCritical,“错误”
犯错误清楚的
继续退出
末端接头 我发现了问题
我必须在每一个子里面
设置xAcad=GetObject(,“AutoCAD.Application.18”)
设置ThisDrawing=xAcad。活动文档
但在autocad2004到2009中,我只需要将其放在UserForm_Initialize()
只有一次
?¿ 很高兴您找到了问题的解决方案,尽管从表面上看,人们可能会想知道为什么必须调整代码才能在AutoCAD 2010中工作。感谢您与我们分享解决方案并更新我们。 不客气
我会试着在这个社区呆上一段时间
我们当然鼓励每个人的参与,包括你们的参与。谢谢
页:
[1]