1 votos

sub Applescript Mundial de la propiedad,

Me gustaría ejecutar un segundo applescript con la variable de la primera Applescript.

Si hago una primera secuencia de comandos para

property myName : "Kevin"

Y una segunda secuencia de comandos con :

set remoteScript to (load script "/Users/kevin/Documents/Script/script1.scpt")

set myName to myName of remoteScript

Entonces todo está bien, el problema es ! El problema es que mi variable se generan en la primera secuencia de comandos y, entonces, yo no puedo usar la propiedad.

He intentado utilizar el Mundial en lugar de eso, pero yo siempre debe haber un error

Mis variables en mi script principal se establecen principalmente (pero no sólo) de Javascript, yo solía usar plist para almacenarlos, pero tengo curiosidad y me gustaría probar con otra forma (también tengo probablemente miles de variables)

2voto

red_menace Puntos 111

Una propiedad es un poco diferente a la de una variable es más como un getter/setter de la declaración, donde su uso se realiza el get/set controlador de la secuencia de comandos especificado objeto y devuelve el resultado.

Un mundial también tiene alcance a través de objetos de secuencias de comandos, pero ya que no tiene ningún valor hasta que a una se le asigna, usted necesita para ejecutar la secuencia de comandos remoto para hacer eso. Además, usted probablemente debería definir la misma variable(s) como global en su segunda secuencia de comandos, por ejemplo:

Primera secuencia de comandos:

property myName : "Kevin"
global test, one, more

doSomething() -- set globals

on doSomething()
  set test to "testing"
  set one to 1
  set more to {2, 3}
end doSomething

Segunda secuencia de comandos:

global test, one, more

set remoteScript to (load script "/Users/you/path/to/First.scpt")
run remoteScript

log myName of remoteScript
log test
log one
log more

1voto

wch1zpink Puntos 11

Si usted está tratando de crear myName como property myName entonces usted puede establecer el property myName : missing value , a continuación, establezca su valor con set myName to myName of remoteScript

property myName : missing value

set scriptLibrary to (path to documents folder as text) & "Script:script1.scpt"
set remoteScript to load script alias scriptLibrary

set myName to myName of remoteScript

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X