1 votes

Que signifie l'erreur errAEWrongNumberArgs en exécutant AppleScript ?

J'ai copié un script que j'ai trouvé en ligne, mais il ne s'exécute pas. L'erreur que je reçois est la suivante

Opérateur logique NON utilisé avec plus d'un terme (errAEWrongNumberArgs:-1721)

Voici le 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 course

Comment puis-je résoudre ce code d'erreur ?

2voto

Oskar Points 1242

Avec un script aussi long, vous avez deux options pour remédier à une erreur :

  1. Utilisez un débogueur pour parcourir le code et trouver laquelle des 40 lignes contient l'erreur et inspectez la valeur des erreurs et la syntaxe de la commande qui est exécutée ou qui génère l'erreur.
  2. Utilisez le concept de exemple minimum complet et vérifiable - où vous supprimerez le code partie logique par partie logique jusqu'à ce que vous ayez la plus petite quantité de code qui produit les erreurs. Dans ce cas, vous supprimez (ou commentez) tous les délais, toutes les boucles internes et vous n'avez plus que quelques lignes de code à déboguer.

En ce qui concerne le débogueur, l'outil d'Apple est tout juste correct - je le lancerais donc sans marcher vers quelque chose comme https://latenightsw.com/ script Debugger qui dispose d'une version d'essai complète puis d'un niveau de fonctionnalité gratuit qui répondra parfaitement à vos besoins.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X