明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2204|回复: 8

[求助]想问一个题,怎么删除自身

[复制链接]
发表于 2003-2-18 20:06:00 | 显示全部楼层 |阅读模式
我要在一LISP里要删除自身,怎么办?主要问题是我怎么取得我这个已经编译成ARX文件或是VLX文件的路径,还有怎么从CAD系统里卸载自身,并删除ARX文件或是VLX文件,谢谢了
 楼主| 发表于 2003-2-20 13:44:00 | 显示全部楼层

惨,没人来告诉我吗????????????/版主呢?陈老师~~~~~~~~~~~~~~~

发表于 2003-2-20 14:46:00 | 显示全部楼层

APPLOAD里有加载卸载(有些是不可卸载的,须重起CAD)

你问的删除自身是指什么意思?指让此命令无效吗?

如是这样可用:(如不是,无须再看)
新建文件(假设存为 d:\unload.lsp)
在此文件下创建与你要删除的命令想同的命令(如:newapp)
(defun c:newapp()
(princ))

再原文件(就是“自身”所在的文件)家一个卸载函数
(defun c:unloadme()
(load "d:\\unload.lsp")
)
这样,原来的命令newapp就没有任何动作了
发表于 2003-2-20 14:51:00 | 显示全部楼层

好,我顶一下

删除自身,没明白什么意思?
取得文件路径用findfile函数。
卸载自己,不大好办,
删除文件,好像lsp办不到??
 楼主| 发表于 2003-2-21 08:08:00 | 显示全部楼层

不是这样的

首先我不知道该文件的路径啊,怎么找到该文件?而且我是要在同一个文件里要卸载自身,不是用一个文件里的函数卸载另一个文件,卸载了之后再删除他,
发表于 2003-2-21 09:32:00 | 显示全部楼层

还比较麻烦

如果你不知道文件在哪儿,那你就得一个文件夹一个文件夹搜索,而且文件夹里又有文件夹,这将是一个嵌套的过程,我曾经用VC做过这样的搜索,很麻烦,而且比较慢。(可能别人会有些比较好的搜索方法),不过我觉得还是你对文件的位置做些限制,或要求已知文件路径比较方便些。
你的另一个问题我还是不是很懂什么意思,卸载我倒没试过,如果是仅使它无效,我觉得这个方法还行,tmp.lsp只是一个辅助文件,在使用过程中,效果同“卸载”自身相同,只需加载程序文件,使用卸载函数后,命令便无效。至于文件间的调用在函数里自己实现了。是一种形同卸载自身。

如果找到好的卸载自身的方法别忘了告诉我一声。
发表于 2003-2-21 11:14:00 | 显示全部楼层

建议

1、不知文件的路径,该知道文件名吧。用findfile就可以搜索,因为,既然是用于CAD的程序,应该是放在CAD可搜索路径下。
2、在同一个文件里,要做到,先卸载本身,再删除该程序,恐怕做不到,你想,卸载了,就不再执行任何动作了。
3、不明白你的意图,要这样做到底为什么?加密?不让别人用?还是别的?
 楼主| 发表于 2003-2-23 15:04:00 | 显示全部楼层

好像不行试了

写一个TMP.lsp是可以,不过我试过了,我在本程序里调用那个tmp.lsp,然后TMP.lsp里调用arxunload的话,我在R14里试过CAD里出错跳掉的,然后tmp下面的删除文件的函数就不被运行了~~
还有就是位置问题,应该说cad加载了一个arx或是vlx文件的话就应该知道那个文件的位置的啊,可我不知道怎么取得这个信息~~~~5555555555
发表于 2003-2-24 15:10:00 | 显示全部楼层

你把程序给我看看

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

本版积分规则

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

GMT+8, 2024-11-26 05:19 , Processed in 0.168682 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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