1

我从 Filemaker 中调用的 Applescript 脚本得到了一个奇怪的结果,这是我以前从未见过的,也没有在此处或其他地方在线找到对它的引用。

以下脚本创建三个新记录并调用 Filemaker 脚本“paste_into_container”。FM 脚本 "paste_into_container" 非常简单,它将剪贴板上的任何内容粘贴到特定的容器字段中。当从 Filemaker 中调用脚本时,"paste_into"container" 下标只会将剪贴板的内容粘贴到最后一个新的记录。前两条记录的容器字段留空。

就好像循环创建了新记录,忽略了“paste_into_container”脚本,然后继续循环的下一次迭代。

该脚本在从 ScriptEditor 调用时工作正常,但从 Filemaker 中调用时失败。如果我放弃重复循环并仅创建一条记录,该脚本也将起作用。

我尝试增加在每个循环结束时添加的延迟,但无论是 1 秒还是 5 秒都没有任何区别。

我确定这很简单,但我没有看到它,两天后是时候寻求帮助(一种或另一种)

附加信息:通过 FM11 服务器运行的 Mac OS 10.6.8 FM 11

提前致谢

菲尔

tell application "FileMaker Pro"
 show every record in table "Image_Info" in database myDB
    repeat with i from 1 to 3
            go to layout 1 of database myDB
            set myNewRecord to create new record in database myDB
            go to last record
            do script "paste_into_container" 
            delay 1
    end repeat  
end tell
4

1 回答 1

0

在另一个论坛上有一个非常好的讨论,专门针对这个问题。当 FM 从 FM10 迁移到 FM11 时,他们改变了程序处理来自嵌入式 applescript 的请求的方式。本质上,因为 FM11 Filemaker 异步处理 Applescript 命令,而不是同步处理 Applescript 使用 do script 命令调用内部 Filemaker 脚本时。这意味着 Filemaker 将允许 Applescript 继续运行,而无需等待 Filemaker 反馈说内部 FM 脚本已完成。有一种解决方法,但它并不优雅,而且似乎并不通用。请参阅下面的链接。

据我了解,这只影响调用其他本地 Filemaker 脚本的嵌入式 Applescripts。

关联

于 2012-10-25T18:58:01.797 回答