triper 发表于 2004-11-29 05:01:00

请高手帮忙看一下程序.急!!!

里面有个循环语句,循环次数过多时便总是出错(200次).如果只循环50次左右,第一次运行没问题,但再次运行的话,就不行了,即使参数不变.请帮忙看一下是哪地方的问题.急!!!

mccad 发表于 2004-11-29 07:34:00

这是Vlax的毛病,目前没什么好办法解决。<BR>你可以每循环50次左右传一个(GC)的命令给它强制释放部分没用的东西。<BR>这样会好些。<BR>跟版本有关,也跟机器的性能有关。<BR>我这里2005版就不行,但2004版好些。

triper 发表于 2004-11-29 22:31:00

谢谢明总.GC是AutoLisp的命令吧.GC这个命令在我的VBA程序里应该怎么样使用?能不能给个简单的例子

triper 发表于 2004-11-29 22:41:00

我在2004的帮助里查到GC和        VBA中的 AutoCAD.Application.ActiveDocument.PurgeAll 这条语句是对映的,不过好象是全部删除

mccad 发表于 2004-11-29 22:44:00

vlax.EvalLispExpression "(GC)"<BR>PurgeAll 是用于清理图形中没用的图层、图块、线型、文字样式等。<BR>(GC)是用于清理内存。<BR>意义是不同的。

triper 发表于 2004-11-29 22:50:00

本帖最后由 作者 于 2004-11-30 0:26:33 编辑

刚才试了一下,还是不太会使用,能不能再具体点.

mccad 发表于 2004-11-30 07:44:00

Dim obj As VLAX
       Set obj = New VLAX
       obj.EvalLispExpression "(GC)"
       Set obj = Nothing

triper 发表于 2004-12-1 08:35:00

好像程序中修剪那部分也有毛病.我单独使了一下那部分,第一次使用没问题,但再次用的话就完了.这个问题有没有解决的方法?

雪山飞狐_lzh 发表于 2004-12-1 08:42:00

把循环放在Lisp里做,建议这个程序还是用Lisp编好些,:)

triper 发表于 2004-12-1 09:04:00

啊......这个问题用VBA有没有补救的方法?LISP我还不会,现学时间赶不上了
页: [1]
查看完整版本: 请高手帮忙看一下程序.急!!!