1 votos

¿Qué significa el error errAEWrongNumberArgs al ejecutar AppleScript?

He copiado un script que encontré en internet, pero no se ejecuta. El error que recibo es

Operador lógico NO utilizado con más de 1 término (errAEWrongNumberArgs:-1721)

Aquí está el script.

on run {input, parameters}

-- Bring Screenflick to the front
tell application "Screenflick" to activate

-- Start a recording
tell application "System Events"
    tell process "Screenflick"
        -- Open the Recording view
        click menu item "Recording" of menu "Window" of menu bar 1
        -- Set the recording timer
        tell window "Screenflick"
            -- Turn the timer off
            tell checkbox "Set Timer"
                if (its value as boolean) then click it
            end tell
            -- Turn the timer on
            click checkbox "Set Timer"
            tell sheet 1
                set value of text field 1 to "0" -- hours
                set value of text field 2 to "0" -- minutes
                set value of text field 3 to "10" -- seconds
                keystroke return
            end tell
        end tell            
        -- Start Recording (Open the Screen Selection view)
        click menu item "Start Recording" of menu "Record" of menu bar 1    
        delay 1
        -- Set the screen area to record
        tell window "Selection Window"
            perform action "AXRaise" -- makes the window frontmost
            tell pop up button "Selection Type"
                click -- Show the menu
                click menu item "Fixed Size" of menu 1
            end tell    
            -- Set the left / bottom of the selected area in global screen points
            -- Must set the values to strings, not integers
            set value of text field "Left" to "100"
            set value of text field "Bottom" to "100"
            -- Triggers Screenflick to use those values
            -- (only confirming one of the fields is fine)
            perform action "AXConfirm" of text field "Left"
            -- Set width and height of the recording area
            set value of text field "Width" to "800"
            set value of text field "Height" to "600"
            perform action "AXConfirm" of text field "Width"
        end tell
        -- Now start recording
        click button "Record" of window "Selection Window"
    end tell        
end tell
return input

fin de carrera

¿Cómo puedo averiguar este código de error?

0 votos

Por curiosidad, ¿cuál es el valor de la variable input ? Para discernirlo, inserte la línea return input directamente después de on run {input, parameters} .

2voto

Oskar Puntos 1242

Con un script tan largo, tienes dos opciones para subsanar un error:

  1. Utilice un depurador para recorrer el código y averiguar cuál de las 40 líneas contiene el error e inspeccione el valor de los errores y la sintaxis del comando que se está ejecutando o que arroja el error
  2. Utilizar el concepto de ejemplo mínimo completo verificable - donde eliminará el código parte lógica por parte lógica hasta que tenga la menor cantidad de código que produce los errores. En este caso, eliminando (o comentando) todos los retardos, todos los bucles internos y tener sólo un par de líneas de código para depurar.

Para depurador, la herramienta de Apple es apenas bien - así que me gustaría correr y no caminar a algo como https://latenightsw.com/ script Debugger que tiene una versión de prueba con todas las funciones y luego un nivel gratuito de funcionalidad que se adaptará perfectamente a tus necesidades.

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