求助一个CAD VBA的诡异问题

hetaoljt 2018-01-25 08:41:23
问题描述:
用CAD VBA Enabler 编写的代码,内含模块及几个窗口,代码文件是cad安装文件夹里的acad.dvb
我一般每次更新代码后,把这个文件在公司电脑和自己电脑倒来倒去,也记不清最早用那种版本创建的了。
自己一台电脑用cad2014,公司用2008和2004,三者互相拷贝复制均能走通正常运行。
后来把这个acad.dvb文件拷到自己另一台电脑,每次加载宏,cad都会直接崩溃,显示“内存不呢为read********”;而在另两台电脑运行都是正常的。
这只是手动加载的情况,如果改support内的lsp文件自动加载,cad启动直接崩溃。
cad卸载重装,问题依旧。
然而,如果从新装的cad从0开始建立代码,生成acad.dvb文件,一切是正常的。
换一个版本cad,同样问题;新建代码无问题,一旦使用原代码文件,立刻崩溃且不可修复。

感觉是文件本身或系统本身的问题,将错误代码写到注册表了。
若要在自己新电脑使用该代码文件,大概只能将代码文字复制出,窗体文件导出,再手动新建载入了。这样仍担心以后通用性的问题。

请问各路大神,这个问题到底是什么原因引起的。
...全文
1083 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-02-05
  • 打赏
  • 举报
回复
注释掉所有On Error Resume Next语句,在VBA IDE中运行, 出错后点击调试,光标会停在出错的那条语句处, 或者 事先在怀疑可能有逻辑错误的语句处设置断点,运行经过断点时中断, 此时可以在立即窗口中使用 ?变量名 或 ?函数名(函数参数) 或 过程名(参数) 辅助调试。
hetaoljt 2018-01-31
  • 打赏
  • 举报
回复
引用 5 楼 Chen8013 的回复:
在“出错”的电脑上,自己跟踪一下代码执行过程吧。 PS: 很多菜鸟在代码中,到处可见“ On Error Resume Next ” !   要我说: 这根本就不是“科学的态度”!!!   我写的VB/VBA代码,可以说从来没有 On Error Resume Next , 只有 On Error Goto XXXX !!!
可能问题描述不清 其实我觉得根本不是代码的问题,而是软件装载过程崩溃 代码还没执行呢,装载过程中就挂了~ 话说,一般CAD VBA里面有大量判定drawing图文件块存在与否的代码,全部改成on error goto 的话,工作量太大比较麻烦…… 还是一句resume next方便~ 其实CAD代码检查错误非常简单,代码执行画出来的图纸尺寸不对,一眼就看出来了…… 如果图纸测量后完全精确,代码几乎99.9%没问题,最多某些地方效率差点~
hetaoljt 2018-01-30
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
百度搜相关关键字。
然而并没有相关信息。。。
舉杯邀明月 2018-01-30
  • 打赏
  • 举报
回复
在“出错”的电脑上,自己跟踪一下代码执行过程吧。 PS: 很多菜鸟在代码中,到处可见“ On Error Resume Next ” !   要我说: 这根本就不是“科学的态度”!!!   我写的VB/VBA代码,可以说从来没有 On Error Resume Next , 只有 On Error Goto XXXX !!!
hetaoljt 2018-01-25
  • 打赏
  • 举报
回复
引用 1 楼 Chen8013 的回复:
1. 你的“另一台电脑”,CAD版本是否跟那些“正常”的电脑一致? 2. 会不会是这个“文档格式”在不同的版本中不能完全兼容? 3. 有没有可能是某些代码,在不同的版本中有“细微差别”造成运行错误?
办公室2008/2004 笔记本A 2014 笔记本B 2014 卸载重装 2008 再卸载重装 2007 感觉和版本关系不大,笔记本A 64位 的2014和办公室 32位 08/04两个版本完全互相兼容 笔记本B最开始也是2014 后来改2008 都会崩溃 按理说版本一样了,代码细微差别不会有影响了。。。
舉杯邀明月 2018-01-25
  • 打赏
  • 举报
回复
1. 你的“另一台电脑”,CAD版本是否跟那些“正常”的电脑一致? 2. 会不会是这个“文档格式”在不同的版本中不能完全兼容? 3. 有没有可能是某些代码,在不同的版本中有“细微差别”造成运行错误?
赵4老师 2018-01-25
  • 打赏
  • 举报
回复
百度搜相关关键字。

2,461

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧