2012-05-29 3 views
0

Как импортировать глобальную переменную из одного файла AppleScript в другой?Импортировать глобальную переменную в AppleScript

Я использую два файла AppleScript для создания демонстрации для курса проекта.

Один AppleScript файл «main.scpt» начинается с глобальной переменной

global someDirectory 
set someDirectory to "~/Documents/cs123-drj/demo" 

on openServerWindow() 
    # Open the server 
    tell application "System Events" to keystroke "n" using command down 
    tell application "System Events" to keystroke "i" using {command down, shift down} 
    typeKeys("server") 
    typeKeys(return) 
    tell application "System Events" to keystroke "i" using command down 
    typeKeys("cd ") 
    typeKeys(someDirectory) 
    typeKeys(return) 
    typeKeys("./cs123-server.sh") 
    typeKeys(return) 
end openServerWindow 

Это прекрасно работает, когда выполняется из этого файла. Я хотел бы использовать этот файл в качестве библиотеки, по аналогии с тем, что найдено here. Последует полный текст моего второго AppleScript.

# 
# Demo script for doing simultaneous selects from a CS123-DRJ database. 
# 

property CS123Commands : load script POSIX file "/Users/admin/Documents/cs123-drj/demo/main.scpt" 

tell CS123Commands to openServerWindow() 

При попытке запустить этот код, я получаю следующее сообщение об ошибке:

error "The variable someDirectory is not defined." number -2753 from "someDirectory"

Как я могу импортировать эту переменную в мой второй файл AppleScript?

ответ

2

На самом деле вы не запускаете скрипт при загрузке, поэтому someDirectory никогда не устанавливается. Вы можете исправить это, сделав вместо этого свойство. Так это изменить ...

global someDirectory 
set someDirectory to "~/Documents/cs123-drj/demo" 

к ...

property someDirectory: "~/Documents/cs123-drj/demo" 
+0

отлично! именно то, что мне нужно. –

Смежные вопросы