2012-09-18 77 views
0

每x數目這裏是我的腳本至今:需要的AppleScript重複秒

property timeDelay : 5 

on appOpen(appName) 
    tell application "System Events" to set appNameIsRunning to exists (processes where name is appName) 
    return appNameIsRunning 
end appOpen 

if appOpen("iChat") then 
    tell application "iChat" 
     repeat with theService in services 
      if connection status of theService = disconnected or connection status of theService = disconnecting then 
       log in of service (name of theService) 
      end if 
     end repeat 
    end tell 
end if 

基本上,它會檢查單的時間,如果你的任何的iChat /信息accts被註銷。如果他們是,登錄他們。它的工作。

但是,我希望這是一個'保持打開'的應用程序。在過去,我所用的模式

on idle 
    -- do stuff 
end idle 

..但出於某種原因,當我嘗試編譯它的示數。

the error I'm getting 任何想法爲什麼會發生這種情況?

編輯:

確定 - 仍然不知道爲什麼這正在發生,但我可以通過簡單地使一個新的腳本來解決這個問題。我不知道爲什麼會出現這個錯誤,但現在看起來很好。謝謝你們的幫助。

+0

你應該回報更換您的延遲。 – adayzdone

回答

0

這沒有任何意義......

tell application "System Events" to set appNameIsRunning to exists (processes where name is appName) 

你要這個......

tell application "System Events" to set appNameIsRunning to exists process appName 

的原因是,將返回一個列表「裏的名字是APPNAME流程」(是否它有一個或多個它仍然是一個列表),檢查列表的「存在」是沒有意義的。

我不確定錯誤,但我希望能解決您的問題。

+0

謝謝你。它沒有解決我的問題,但你的變化被記錄下來,我更新了我的腳本。 – Geddy

0

這對我的作品在10.6.8

property timeDelay : 5 

on appOpen(appName) 
    tell application "System Events" to set appNameIsRunning to exists process appName 
    return appNameIsRunning 
end appOpen 

on idle 
    if appOpen("iChat") then 
     tell application "iChat" 
      repeat with theService in services 
       if connection status of theService = disconnected or connection status of theService = disconnecting then 
        tell service (name of theService) to log in 
       end if 
      end repeat 
     end tell 
    end if 
    return timeDelay 
end idle