• Medlem
  • 2016-08-10 17:13

Jag skulle vilja få till en progressbar-subrutin som ska gå att peta in i en applet där det behövs.
Men i min POC får jag inte variabeln theItem att följa med till "run script" trots att såväl variabeln som "skriptet" som ska exekveras i subrutinen är identifierat. Jag saknar kunskap för att komma vidare. Går det öht?

use AppleScript version "2.4"
use framework "Foundation"
use scripting additions

set theList to {"A", "B", "C"}
set theScript to "display dialog theItem"

my doRepeatWithProgressBar(theList, theScript)

-----------------------------------------------------------------
--» HANDLERS

on doRepeatWithProgressBar(theList, theScript)
	set C to (count theList)
	set progress total steps to C
	repeat with I from 1 to C
		set theItem to item I of theList
		set progress description to I & " av " & C
		set progress additional description to "theItem: " & theItem
		get theItem
		my doSomething(theItem, theScript)
		set progress completed steps to I
	end repeat
end doRepeatWithProgressBar

on doSomething(theItem, theScript)
	-- variabeln theItem ÄR definierad:
	get {theItem, theScript}
	display dialog "theItem: " & theItem & return & "theScript: " & theScript with icon 1
	try
		-- Felande rad:
		run script theScript -- variabeln theItem är inte definierad
	on error err
		display dialog "run script theScript (" & theScript & ")" & return & err with icon 2
	end try
end doSomething