使用ignoring application responses
我可以在对话框仍然打开的情况下执行代码,如下所示:
ignoring application responses
(display dialog "Type some text:" default answer ¬
"" buttons {"Okay"} default button 1)
end ignoring
display dialog "boo"
(在这个例子中,显示消息的代码" boo"在执行之前不等待第一个对话被回答。)
很明显,当我尝试存储我的第一个对话框的结果时:
set myText to ""
ignoring application responses
set myText to (display dialog "Type some text:" default answer ¬
"" buttons {"Okay"} default button 1)
end ignoring
return myText
return myText
会出错:"myText is not defined"
有没有办法不等待对话被回答并仍然得到结果?
答案 0 :(得分:0)
当然这是不可能的。主要原因是AppleScript在单个同步线程中运行。
顾名思义ignoring application responses
不等待对发送的Apple事件sysodlog
(显示对话框)的响应。未设置变量myText
,并立即执行下一行。
当您添加代码以直接获取返回的文本时,另请参阅错误消息No result was returned from some part of this expression.
set myText to text returned of (display dialog …