AppleScript error: Finder är upptagen

Tråden skapades och har fått 1 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2005-02-05 18:51

Jag har ett AppleScript Studio program som med jämna mellanrum kollar om det finns filer i en mapp.

tell app "Finder"
set fillistan to files in folder mappen
end tell

Problemet är att när jag själv är inne i Finder (öppnar fönster, slänger filer m.m.) samtidigt som programmet jobbar, får jag ofta upp ett AppleScript error som säger "Finder är upptagen -15260".
Felet beror troligen på att Finder fortfarande jobbar som Finder gjorde i system 7. D.v.s icke multitrådad Finder. Har någon erfarenhet hur man kan undgå detta problem?

  • Medlem
  • International user
  • 2005-02-05 20:44

Skrev lite kod som upprepar "Finder-koden" om error 'Finder är upptagen' är "thrown". Funkar faktiskt..

set mappen to "Macintosh HD:Users:admin"

set it_is_ok to true -- Inget error är grundförutsättningen (trots sunkig Finder)
set max_repeats to 10 -- Efter 10 ggr bryter vi loopen hur det än går...
set n to 0 --- n är antalet instanser av repeat
tell application "Finder"
	repeat
		
		set n to n + 1
		try
			--Detta är koden i "Finder"  som uppreas efter 1 sec (delay 1 nedan) om vi får error -15260 ----------
			set fillistan to files in folder mappen
			-- ----------
		on error number num
			set it_is_ok to false
			if num = -15260 then display dialog "-15260" -- Kommentera bort om du inte vill se dialogen
			delay 1 -- Vänta 1 sec innan nästa försök
		end try
		if it_is_ok then exit repeat
		if n > 10 then exit repeat --Efter 10 sec bryter vi loopen av naturliga skäl
		set it_is_ok to true -- Så att säga "re-intit" true...
	end repeat
	
end tell
fillistan & " : " & it_is_ok & " : " & n -- Kolla av alla variabler
Senast redigerat 2005-02-05 21:06
1
Bevaka tråden