【问题标题】:Applescript and Cocoa Error: Expected end of line but found identifierApplescript 和 Cocoa 错误:预期行尾但找到标识符
【发布时间】:2014-04-05 21:58:22
【问题描述】:

我刚刚向我的应用程序添加了 Applescript 支持,我发现当我编译运行具有我的应用程序的命令的 Applescript 时,我得到了标题中出现的错误。命令很简单:

创建任务“任务标题”日期“今天”注释“任务注释”。

在错误发生后,编辑器将光标放在单词task上。

有趣的是,我已经在我妻子的 Macbook 上使用 Mountain Lion 进行了测试,它运行良好,但在我的 Mavericks 上却不行。

有没有人知道什么可能会失败,可能是我的系统或在 Mavericks 中我必须添加或更改任何内容?

拜托,任何想法都对我很好,因为我不知道该去哪里,因为我已经尝试了很多东西,但一无所获。

非常感谢。

【问题讨论】:

  • 听起来 AppleScript 编辑器可能正在查看您的应用程序的旧版本并使用该“字典”来编译脚本。尝试打开字典... 并找到您应用的当前版本。
  • 试过了,还是失败了。谢谢。
  • 我认为我的系统有问题。前段时间我又做了一个query.,但仍然失败,但在我妻子的macbook上完美运行,也许这两个问题是相关的。

标签: macos cocoa applescript


【解决方案1】:

“预期行尾,但发现”错误表明语法有问题。但由于代码在其他机器上工作,我假设字典不会正确加载。

自 Mavericks 以来,或者更好地说,自 AppleScript 2.3 以来,有新的 use 语句来指示应该使用哪个框架、脚本库和脚本添加(开/关)。您甚至可以告知应在脚本中使用哪个应用程序和版本。也许你不知道 Mavericks 的这个新功能。更多信息可以在AppleScript Language Guide 中找到,然后查找使用声明。

【讨论】:

  • 非常感谢,暂时解决了这个问题。我的程序的实际版本(第一个包含 Applescript)是 7.0。我已包含在 Applescript 代码中:使用应用程序“Onlytasks”版本“7.0”现在,如果我的应用程序正在运行一切正常,但如果它关闭,编译器会说无法获取版本 >=“7.0”的应用程序“Onlytasks”似乎在我系统的某些部分隐藏了旧版本的程序!?
  • 你是否在use语句中将“with recompile”标志设置为false?它默认打开,每次编译脚本时,它都会向应用程序询问它的脚本字典。当你关闭它时,它不会编译
  • 与“不重新编译”标志相同的响应 :-(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多