VB.Net二次开发AutoCAD程序调试的一个小技巧
众所周知,与传统的VB6不同,VB.Net在对代码进行测试运行时先编译,速度奇慢。而使用VB.NET对AutoCAD进行二次开发时这种情况会更加严重。为什么这么说呢?请看常规运行代码的过程:
(1)按F5;(2)生成程序【编译】;(3)启动AutoCAD【所谓的外部程序】;(4)在AutoCAD里使用netload命令手工加载编译好的dll;(5)输入自定义的命令运行程序。
这对于急性子的我——尤其是在AutoCAD里安装了一堆扩展插件的我来说,简直就是煎熬。
还好,有些小技巧可以使用。
技巧1:运行代码时不启动AutoCAD
使用VB.NET对AutoCAD二次开发,必须在调试选项卡里设置“启动外部程序”——也就是设置acad.exe的路径。其实这个不是必须的,可以把这个程序设置成其他的可执行文件——比如设置成notepad.exe【因为它启动速度快】,而使AutoCAD一直保持打开的状态,这样就节省了启动的时间。
不过,还是要在编译dll后,在AutoCAD里输入netload加载dll。
技巧2:巧用断点
技巧1其实还不是最好的,还有一个更加省时省力的方法:在代码里设置断点【这里启动的外部程序还是acad.exe】。
待按F5运行代码以后,在AutoCAD里对编程效果进行测试【编译-启动AutoCAD-输入netload命令-加载dll-输入自定义命令-我晕还有个断点,再次按F5,时间咋个更长了?】。
这时候发现某个地方不爽,需要修改代码,需要停止程序的运行吗?不必。重新使用自定义的命令,程序运行到断点处暂停,这个时候试着去修改代码,哈,可以修改,是不是很爽啊?!【节省了“编译-启动AutoCAD-输入netload命令-加载dll”这一系列动作,连编译都节省了!】
只是有一点不理想——这种方法不能编辑界面。想想完美的事情只有在韩国电影里才能出现,也就释然了。
总之一句话,还好人是活的,有技巧可用,否则进行AutoCAD二次开发的程序开发人员需要多大的耐心才能编写出那些人们喜闻乐见的软件呢?呵呵。
补充(2010.11.24):
调试时自动加载dll的方法:
(1)新建一个scr文件。
(2) scr文件内容【netload "dll路径"口】。
注:“口”为空格,这个一定要加
(3) 在程序属性的调试选项卡的“命令行参数”内输入【/nologo /b "scr文件路径"】。
注:注意空格
(4)OK了,按F5,直接输入自定义命令,测试下效果。
该贴已经同步到 cumtjh的微博 |