明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: yyzhan12

[函数] 我也来个VLISP直接调用WIN API函数

    [复制链接]
 楼主| 发表于 2009-3-10 17:55:00 | 显示全部楼层
nonsmall发表于2009-3-10 15:19:00恩 这回有点意思了bug:我正常使用vbanew建立的却被删掉了

bug已解决,请在6楼下载

发表于 2009-3-11 11:59:00 | 显示全部楼层
当图形中有嵌入工程的时候会出错
 楼主| 发表于 2009-3-11 12:34:00 | 显示全部楼层
nonsmall发表于2009-3-11 11:59:00当图形中有嵌入工程的时候会出错

我在2004下测试正常,不会出错呀!

 楼主| 发表于 2009-3-11 12:56:00 | 显示全部楼层
经过不断的修改,VLISP直接调用WIN API函数已不再那么“鸡肋”了,有点吃“鸡翅膀”的感觉了,但个人认为以下几方面还有待完善:
1、程序的执行速度:看着鼠标的图标不停变,感觉老是不爽,连接层次不好,效率较低
2、API代码隐蔽性较差,容易被人破解
3、程序执行过程容易受CAD程序状态的影响、干扰
当上问题得予解决的话,那时候VLISP直接调用WIN API函数绝对是只香喷喷的“烤鸡”!
发表于 2009-3-11 15:05:00 | 显示全部楼层
本帖最后由 作者 于 2009-3-11 15:36:21 编辑

真有实用价值的话应该开源!

现在主要问题已经转变为

VBA如何自杀?

 楼主| 发表于 2009-3-11 16:02:00 | 显示全部楼层

VBA如何自杀?

发表于 2009-3-11 16:08:00 | 显示全部楼层

你注意到没有

Eval方法没有痕迹

是怎么实现解释一句VBA语句的?

 楼主| 发表于 2009-3-11 16:28:00 | 显示全部楼层
本帖最后由 作者 于 2009-3-12 8:28:56 编辑

利用Eval方法可以实现对VBS语句的解释,但关键是能否解释API?

要知道VBA不支持Eval方法的

发表于 2009-3-12 09:27:00 | 显示全部楼层

API声明好 eval就可以用了

另外使用(repeat 10)的时候还是容易出现无法卸载的情况(还是会有提示出现)

发表于 2009-3-12 09:31:00 | 显示全部楼层

我想可以这样改改:

加载程序时判断若没有就vbanew一个

然后用一个全局变量记录这个Global宏名称

下次执行程序不新建也不删除

建立一个图形反应器

当图形即将关闭的时候触发 自动关闭这个Global宏即可

这样就做到了只关闭一次 在当前图纸使用期间应该没问题了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 11:49 , Processed in 0.171321 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表