Şimdiye kadar bulduğum tek fark: app.doScript
tarafından çalıştırılan bir komut dosyası bir hata döndürürse, hatanın dosya ve satır numarası, dosya ve app.doScript
çağrısının satır numarası tarafından geçersiz kılınır.
Bilmem gereken başka farklılıklar var mı?
İlk çalıştırma InDesign:
c:
cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"
InDesignServer.com -port 12345
pause
Sonraki bir komut dosyası çalıştırmak için bir toplu iş dosyası oluşturun:
c:
cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"
sampleclient -host localhost:12345 -server "C:/doscript_vs_evalfile/call_doScript.jsx"
pause
Bu "call_doScript olduğunu
İşte yukarıdaki farkını gösteren örnek kod var. app.doScript'i çağıran jsx ".
try {
app.doScript(new File("/c/doscript_vs_evalfile/called_by_doScript.jsx"));
"Success";
}
catch (e) {
var sError = "Encountered " + e.name + " #" + e.number + " at line " + e.line + " of file " + e.fileName + "\n" + e.message;
app.consoleout(sError);
sError;
}
Bu, bir önceki komut dosyası tarafından denir "called_by_doScript.jsx" dir:
app.consoleout("Running called_by_doScript.jsx");
// Produce error
var a = b;
toplu dosyasını çalıştırın ve bu sonucudur:
02/25/13 13:30:03 INFO [javascript] Executing File: C:\doscript_vs_evalfile\call_doScript.jsx
02/25/13 13:30:03 INFO [javascript] Executing File: C:\doscript_vs_evalfile\called_by_doScript.jsx
02/25/13 13:30:03 INFO [script] Running called_by_doScript.jsx
02/25/13 13:30:03 INFO [script] Encountered ReferenceError #2 at line 2 of file /c/doscript_vs_evalfile/call_doScript.jsx
b is undefined
Bildirim o Yukarıdaki hata yanlış. Hata, call_doScript'in 2. satırı değil, named_by_doScript'in 3. satırından kaynaklandı.
Şimdi $ .evalFile kullanmak için komut dosyaları değiştirmek ve biz bu sonucu elde: Hata artık doğru yerde bildirildiğini
02/25/13 13:32:39 INFO [javascript] Executing File: C:\doscript_vs_evalfile\call_evalFile.jsx
02/25/13 13:32:39 INFO [script] Running called_by_evalFile.jsx
02/25/13 13:32:39 INFO [script] Encountered ReferenceError #2 at line 3 of file /c/doscript_vs_evalfile/called_by_evalFile.jsx
b is undefined
Bildirimi.
Düzenleme:
Ben seyrek belgelerine buldum. Bu benim soruma gerçekten cevap vermiyor, ancak farklı isteğe bağlı parametreleri açıklıyor.
doScript:Adobe InDesign CS6 Scripting Guide: JavaScript (direct link)
sayfa 16,
evalFile "doScript Yöntemiyle" Bakınız:Javascript Tools Guide: Adobe Creative Suite 5
Bkz sayfa 219
Cevabı bilmiyorum, ancak app.doscript ile js dosyalarını ve vbs dosyalarını çalıştırabilirsiniz. – bgmCoder