Kod från 10.4 blir ändrad (kass) i 10.5 i ScriptDebugger

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2009-05-07 11:44

Jag har skrivit kod i Script Debugger 4.5.2 i OS X 10.4 som ser ut så här:

tell application "System Events"
	try
		set myFullName to full name of current user
		set myUserid to do shell script "whoami"
	on error
		try
			set myUserid to do shell script "whoami"
			set myFullName to do shell script "lookupd -q user -a name " & myUserid & "  |  tail -10 | grep realname | sed 's|realname: ||g'"
		end try
	end try
end tell


set myFullDate to (current date)
set myTime to time string of myFullDate as string
set mySplit to true
set myTemplateLog to ""

tell application "Adobe InDesign CS2"
	set myDocument to active document
	set myMasterFilePath to full name of myDocument
	set myDocName to name of myDocument
end tell

När jag försöker redigera den i Script debugger i 10.5 ser det ut så här:

tell application "System Events"
	try
		set myFullName to «class fnam» of «class curu»
		set myUserid to do shell script "whoami"
	on error
		try
			set myUserid to do shell script "whoami"
			set myFullName to do shell script "lookupd -q user -a name " & myUserid & "  |  tail -10 | grep realname | sed 's|realname: ||g'"
		end try
	end try
end tell


set myFullDate to (current date)
set myTime to time string of myFullDate as string
set mySplit to true
set myTemplateLog to ""

tell application "Adobe InDesign CS2"
	set myDocument to «class pacd»
	set myMasterFilePath to «class fnam» of myDocument
	set myDocName to name of myDocument
end tell

Öppnar jag samma kod i Manusredigeraren ser det rätt ut (men Manusredigeraren vill man ju inte använda om man inte måste).

Skriptet går att exekvera i InDesign och från Manusredigerare, men inte från Script Debugger.

Hur slipper jag detta?

  • Medlem
  • 2009-05-07 11:59

hrm, omstart av SD hjälpte... Men det händer då och då. Varför?

Alltså, varför blir

set myFullName to full name of current user

så här i 10.5:

set myFullName to «class fnam» of «class curu»
  • Medlem
  • 2009-05-07 13:03

Jag tror att det blir så när AppleScript-editorn inte kan läsa programmets applescript-ordlista (t.ex. om inte programmet som refereras i tell-satsen inte är installerat).
Så istället för att kunna slå upp att koden «class fnam» betyder "full name" för applikationen "System Events", så visar den koden rakt av.

  • Medlem
  • 2009-05-07 14:05

Det måste vara en hicka i mitt fall. Jag jobbar en massa med script i InD, och System Events. (Och System Events är ju liksom inte helt frivilligt att ha installerat... )

1
Bevaka tråden