¿Qué significa error errAEWrongNumberArgs significa ejecutar AppleScript?

1

Copié un script que encontré en línea, pero no se ejecutará. El error que recibo es

El operador lógico NO se usa con otro término que no sea 1 (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

final de ejecución

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

    
pregunta user38118 25.07.2018 - 22:23

1 respuesta

0

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

  1. Use un depurador para recorrer el código y averiguar cuál de las 40 líneas contiene el error e inspeccionar el valor de los errores y la sintaxis del comando que se está ejecutando o arroja el error
  2. Utilice el concepto de ejemplo verificable mínimo completo , donde eliminará el código parte lógica por parte lógica hasta que tenga el más pequeño Cantidad de código que produce los errores. En este caso, eliminar (o comentar) todos los retrasos, todos los bucles internos y tener solo un par de líneas de código para depurar.

Para el depurador, la herramienta de Apple está apenas bien, así que ejecutaría y no caminaría hasta algo como enlace Script Debugger, que tiene una completa función Pruebe y luego un nivel gratuito de funcionalidad que se ajustará perfectamente a sus necesidades.

    
respondido por el bmike 25.07.2018 - 22:35

Lea otras preguntas en las etiquetas