Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Javascript i InD Server som drar igång AS?

Tråden skapades och har fått 19 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2012-03-16 09:53

Jag behöver ett javaskript som drar igång ett applescript. Hur ska ett sådan se ut? Jag har fått detta

var FILEPATH = "/Extra/Applescript/PostProcess_AS/Post_10_bildrapport.scpt";
var npcore = app.newspilotCore;
try {
npcore.trace("Calling script " + FILEPATH);
app.doScript((new File(FILEPATH)),ScriptLanguage.applescriptLanguage);


} catch (anError) {
npcore.trace("An error occured while preprocessing print " + anError);
}

men det resulterar i felet bifogat i bilden. Leverantören drar lite på svaret så jag ställer frågan här.

Stämmer sökvägen?

Det du angivit är en absolut sökväg som startar på diskens rotnivå, dvs. att det jämte systemmappen ska finnas en mapp som heter "Extra" osv.

Rent allmänt är det bättre praxis att du skapar ett filobjekt och lagrar det i en variabel, så att du kan kontrollera filens existens, innan du försöker exekvera den. På så sätt får man bättre kontroll över eventuella fel.

  • Medlem
  • 2012-03-17 11:40

Jo, sökvägen ska stämma. Men eftersom du frågar ska jag kolla igen.

Praxis följer jag gärna, men som du vet är mina kunskaper i ämnet inte ens rudimentära.

Dina kunskaper i javascript/extenscript kanske inte är så djupgående, men det jag sa gäller oavsett vilket språk du jobbar i, dvs. det är lika bra idé också i AppleScript.

  • Medlem
  • 2012-03-18 01:18

Nej, jag vet. Jag syftade mer på att jag inte vet hur jag skulle följa praxis då jag inte kan språket.

Rönnbäck to the rescue:

#target indesign

var myFile = new File("/Kasta.applescript") ;

if (myFile.exists) {
	$.writeln("Finns") ;
	app.doScript(myFile, 1095978087) ;
} else {
	$.writeln("Finns inte") ;
}

  • Medlem
  • 2012-03-19 10:50

Jag fastnar här:

Ursprungligen av Richard Rönnbäck:
app.doScript(myFile, 1095978087) ;

Men jag tar upp det med Infomaker.

  • Medlem
  • 2012-03-18 12:01

Smutt!
Är extendscript lika listigt som applescript och fungerar i den InDesignversion som råkar vara öppen? Det ska nämligen köras av en InD CS5 Server.

Nja, när det gäller InDesign server så fungerar det inte riktigt på det sättet

Det är möjligt att du ska skippa raden som heter #target när du kör via InDesign Server.

Funkar det med din vanliga klient-indesign?

  • Medlem
  • 2012-03-19 11:52

Nope, ExtendScript Toolkit säger "okänd token får inte vara här".

Då har du förmodligen ett "skräptecken" någonstans, antingen i detta script, eller i det som anropas.

Felsök!

  • Medlem
  • 2012-03-19 13:46

Jag kar skrivit om hela extendskriptet så att det inte ska innhålla några konstiga tecken.
Det fungerar fram till "app.doScript(myFile, 1095978087) ;" så själva skriptet fungerar fram dit i alla fall.

Det blir Infomaker. Jag hinner inte lära mig ExtendScript för att djupare felsöka den lilla kodsnutt det handlar om nu, och applescriptet består endast av "display dialog 'kasta'" vilket borde passera utan klagomål om saknade tokens.

  • Medlem
  • 2012-03-19 13:04

Ok, tack!

hur är applescriptet sparat, som text, som kompilerad fil, som applet etc?

  • Medlem
  • 2012-03-19 21:26

Som okompilerad text (.applescript), kompilerad text, kompilerat applescript (.scpt). Inget fungerar.

prova att stänga av alla pluggar som har med NewsPilot att göra…

  • Medlem
  • 2012-03-20 13:13

Jag tänkte också på det, men det hjälps inte.

  • Medlem
  • 2012-03-30 13:49

Är detta rätt formulerat för att testa om jag alls kan köra applescript i ett javaskript?

#target indesign


try {
app.doScript(("display dialog 1"),1095978087);
}

(Det fungerar i alla fall inte.)

I JavaScript är inte "catch" (dvs. "on error" i applescript-lingo) optional

JavaScript Try...Catch Statement

1
Bevaka tråden