Dmitry Dyachkov
Dmitry Dyachkov

Reputation: 1785

Handler call error in tell block in Applescript

Why a handler is not called within the tell block? Error is -1708

on stub() -- method is not called in tell block
end stub

tell application "Finder"
    stub()
end tell

Upvotes: 9

Views: 2154

Answers (1)

Antal Spector-Zabusky
Antal Spector-Zabusky

Reputation: 36622

Within a tell SOMETHING block, AppleScript looks up commands within SOMETHING. In this case, it's looking for a stub command within application "Finder"; this obviously doesn't exist. To tell AppleScript to look up the function you've defined, you write my stub(); the my forces it to look in the body of the current script rather than in application "Finder". In this case, this gives you:

on stub()
    -- ...
end stub

-- ...
stub() -- Works fine
-- ...

tell application "Finder"
    -- ...
    my stub() -- With the `my`, works fine
    -- ...
end tell

Upvotes: 20

Related Questions