inner 发表于 2022-7-6 11:39:34

AutoCAD 2010、VB的问题

我在vb6中有很多DLL,从autocad 2004到autocad 2009,它们的工作非常有魅力
 
但是现在我在使用AutoCAD 2010时遇到了很多问题
 
所有VB6 DLL的架构为
 
初始化类
 
在vbModal中显示窗体(如果我尝试无模式执行,则窗体不会显示)
 
按运行命令按钮,隐藏表单,向autocad发送提示,并尝试在屏幕上进行选择
 
但随后AutoCAD被阻止,选择光标出现在屏幕上,但我无能为力,必须从windows任务管理器中终止AutoCAD
 
当我从没有窗体的vb6 dll中进行屏幕选择时,不会出现此问题
 
谁知道AutoCAD 2010发生了什么?不想重写网络中的所有代码

ReMark 发表于 2022-7-6 11:52:42

32位还是64位版本?
 
我们说的是VB 6.0和Service Pack 5,对吗?

inner 发表于 2022-7-6 11:59:16

32位
 
VB6 SP6
 
像这样的东西只是在我的计算机中阻止autocad 2010
测验拉链

ReMark 发表于 2022-7-6 12:08:55

我很清楚,AutoCAD 2010和VB 6.0都是32位的,对吗?

inner 发表于 2022-7-6 12:12:18


 
这太奇怪了,因为它在调试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,“错误”
犯错误清楚的
继续退出
末端接头

inner 发表于 2022-7-6 12:20:18

我发现了问题
 
我必须在每一个子里面
 
设置xAcad=GetObject(,“AutoCAD.Application.18”)
设置ThisDrawing=xAcad。活动文档
 
但在autocad2004到2009中,我只需要将其放在UserForm_Initialize()
只有一次
 
?¿

ReMark 发表于 2022-7-6 12:29:35

很高兴您找到了问题的解决方案,尽管从表面上看,人们可能会想知道为什么必须调整代码才能在AutoCAD 2010中工作。感谢您与我们分享解决方案并更新我们。

inner 发表于 2022-7-6 12:32:39

不客气
 
我会试着在这个社区呆上一段时间

ReMark 发表于 2022-7-6 12:39:41

 
我们当然鼓励每个人的参与,包括你们的参与。谢谢
页: [1]
查看完整版本: AutoCAD 2010、VB的问题