Apache2k 发表于 2022-7-5 18:02:38

DCL外部的奇怪结果

我知道怎么做,我已经做到了。但是。
我有多种产品。ini,产品2。ini文件,从中获取popup_列表的值。
 
第一个选择是ok。但是,当我将外部ini文件更改为下一个ini文件时。popup_列表的内容仍然是我最初使用的内容。
 
我不能发布整个lisp或DCL,但有人经历过这一点,我如何“刷新”旧的外部ini值?
 
谢谢

rlx 发表于 2022-7-5 18:10:05

 
让舒尔在每次启动对话框时刷新对话框。加载ini时,首先将旧ini设置为nil。我假设您使用一个列表来填充弹出列表,因此在加载时,首先将此列表也设置为零。每当加载新的ini时,尝试创建一个函数来重置所有变量和列表。最后但并非最不重要的一点是,仔细检查变量是否正确声明为全局/局部变量。
 
gr.Rlx

Apache2k 发表于 2022-7-5 18:17:57

谢谢你的快速回复。
我确实重置了值。它就在那里。它的一个函数完成了所有功能和idid使用(setq prod nil)
还是没有运气。我变蓝了
 
lisp中是否重置了内部列表或类似内容?

rlx 发表于 2022-7-5 18:19:32

 
我已经在这个论坛上发布了所有与dcl相关的例程,只要搜索rlx,也许你会发现一些有用的东西。我个人对于这种错误的经验是我自己经常遇到的,我称之为草率编程,我从一个好的策略开始,但后来我改变了一些东西,忘记了或没有看到对其他部分的影响。在编辑器中使用断点并检查每个步骤。例如,如果您有一个例程来填充弹出列表,并已将此列表声明为本地列表,那么尝试在程序的另一部分中更改它将没有任何效果。除非你的电脑被迷住了,你可以责怪你的妻子或女朋友(通常是这样),否则你的程序/思维中一定有逻辑错误。你可以走老路,做一个特殊的变量转储例程,在应用程序中的某些点打印变量,从而确认每个步骤。但如果有什么安慰的话,我很清楚当一只虫子吃掉你的大脑时会有多沮丧;-)。如果没有什么帮助,张贴或邮寄的部分,这是你的错误。
 
Gr.Rlx

Apache2k 发表于 2022-7-5 18:27:55

谢谢Rlx
这是我试图避免的,所以让我们把它分成几个部分并检查一下
我会通知结果的。

Hippe013 发表于 2022-7-5 18:32:29

你是如何打开和阅读你的。ini文件?

Apache2k 发表于 2022-7-5 18:36:50

这样地:
 
(setq produfile(findfile ininame1))
 
(打开生产文件“r”)

Hippe013 发表于 2022-7-5 18:45:11

然后用以下内容结束它吗?
 
(close produfile)

Apache2k 发表于 2022-7-5 18:47:42

是的,它关闭了。忘了提了。我讨厌Bug发现这么多Bug,但没有一个能解决这个问题。仍在修复/搜索。

Tharwat 发表于 2022-7-5 18:51:56

你好
选择文件的action_互动程序应该具有检索新选定文件内容的代码,然后在向其添加字符串之前,必须将包含字符串的变量设置为nil。
页: [1] 2
查看完整版本: DCL外部的奇怪结果