这个FAS和VLX编译的Lisp文件对我来说是已知的,我确实在需要它们时使用它们。
但是,当我能够编写一个程序给别人,并且在很长一段时间内不使用它时,处理注册表将节省我对公众的努力。
我向你致以最良好的祝愿,祝你俄罗斯之行愉快。
当做 你好
假设用户已经更新了他们的Autocad版本,setenv会保留相同的第一个字符串吗
首次使用Lisp文件从旧版本发送到注册表?
谢谢
不环境变量值分别存储在每个AutoCAD版本中。例如,对于AutoCAD 2011:
HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9006:409\FixedProfile\General\
您应该使用自己的注册表项来防止这种情况。
另外,我在第#9帖中的想法很好,因为它是一个文件,从第一个使用日起几天后就会停止工作。它是编译后的文件,要理解需要在其中更改什么才能使其再次工作,这不是一件容易的事情。当然,用户可以在使用前复制此文件,并在每次程序停止工作时覆盖它(如果他(她)知道)。
然而,完美的安全是不存在的,除非你没有来自Jupiter的魔法水晶,它是你程序的硬件钥匙。 可能没有。
但你可以这样做:
(defun C:TEST ()
(kr:TEST_RegApp)
(princ (strcat "\n" (getenv "MyVaR")))
(princ)
)
(defun kr:TEST_RegApp ()
(if (not (getenv "MyVar"))
(setenv "MyVar" "Default")
)
)
无论如何,我不喜欢。。环境变量
克鲁格
恐怕我看到了这个解决方案的一些局限性:
[列表=1]
[*]VLISP_编译函数似乎只接受源代码,而不接受编译后的代码。
[*]即使您管理它以使用编译的代码,当尝试替换打开的文件时,也可能会出现问题(当您尝试重新写入时,调用程序是打开运行的)。
[*]此函数仅在VLisp编辑器处于活动状态时有效-据我所知,无法通过编程方式打开它。
问候,
米尔恰
谢谢克鲁格。
但为什么不建议像我们现在讨论的那样,在例程中使用setenv来检查有效日期呢?
当做
迈克尔 这是autocad用来存储变量的地方。这对我来说是垃圾。
下载此http://kojacek.republika.pl/ada.html然后跑(ada.zip)
转到HKEY\U CURRENT\U USER\Software\CAD。pl\ADA。对我来说,这是一个适合这种事情的地方
克鲁格
你的例行程序会将文本内容更改为当前日期。关于HKEY_电流。。。。。。我找不到
它在Windows7中,你能带我去吗?
当做 可能path中发生了一些变化,但我知道该程序可以在win7上运行。
你可以在搜索kojacek&kruuger时找到这个
有运行程序所需的所有设置
k
k
页:
1
[2]