1

我用以下两个命令定义了一个动作:

@Prompt([...]; "1");
@Command([ToolsRunMacro];"(AGENT)");
@Prompt([...]; "2");
@If(@GetProfileField("PrivateProfile";"LENGTH";@UserName))>0;@PostedCommand([Compose];"FORM");"");
@Prompt([...]; "3");

但是使用@Prompt我发现的命令,首先显示每条@Prompt消息(1-3)然后AGENT运行。但是当AGENT操作该LENGTH字段时,该@IF语句会比较一个“过时”的值。

也许每个语句都是一次执行的?如果是:如何防止代理出现这种行为?

我将不胜感激任何帮助!

4

1 回答 1

4

[ToolsRunMacro] 命令将始终在所有 @Functions 首先执行后运行。没有办法改变这一点。

您可以在信息中心文档中获得将立即执行的命令与在最后执行的其他函数之后执行的命令列表。

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_COMMAND.html

您的代码还需要注意的是 Profile 文档已被缓存。因此,您可能不会在所有情况下都立即看到对文档所做的任何更改。

于 2013-02-14T15:27:03.177 回答