FC2ブログ

Double-talk Publisher

デザイン・DTPのニッチで泡沫的知識を集積

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

お手元系スクリプト考

InDesignでお手元系のスクリプトツールを作っているときは「#targetengine "xxx"」が必須になります。
スクリプトガイドを読むと、あたかも「#targetengine "session"」と書けば万事うまくいくような書きっぷりですが、このように書いただけではExtendScript Toolkit(ESTK)のターゲットから「session」を選ぶことはできませんので、そのまま実行することができません。
このような場合のセオリー……というより必然の手段は、InDesignのスクリプトフォルダに該当ファイルを入れ、そのファイルをデバッグしていくことになります。
これでも全く問題ありませんが、いちいち実行する度にInDesignのスクリプトパレットから呼び出し、ESTKでデバッグというのは作業効率が悪いように思えます。
こういった場合、一度、名前空間用のダミースクリプトをInDesignから起動しておけば、それ以降はESTKからその名前空間を指定できるようになります。
特に、頻繁にこのようなスクリプトを書く人は「Startup Scripts」に入れておけば利便性がよくなるでしょう。
なお、#targetengineを"session"にするとオブジェクト名のバッティングも予想され、予期せぬエラーに悩まされかねません。例えば、自分の汎用テスト用に「nakatojiTest」などとしておくとよいでしょう(サンプルコードもそうなっています)。
同じ理由により、本番配布ではなるべくユニーク(=個性的な。別に笑いを取らなくてもよい)な名前をつけておくことをお勧めします。
追記:あ、また間違った。「function dummyEngine(){};」のセミコロンはいらないんだよな。どーもまだJavaScriptに慣れてなくて。元を修正しました。早くに見た人、ごめんなさい。
スポンサーサイト

コメント

なるほど、今度試してみよう。
いままで、パレットなのに'palette'でなく、'dialog'でつくって最後に直してました。

  • 2009/11/18(水) 20:17:24 |
  • URL |
  • mg #xJkBTR9U
  • [ 編集 ]

私は最初「"session"というのはワイルドカード的にInDesignなら有効なんだろう」と思ってたのです。しかし「さにあらず」。

で、同じように'window'で('dialog'だとちょっと挙動が違うので)作成して~という同じようなことをしていました。

  • 2009/11/18(水) 20:47:18 |
  • URL |
  • 中綴千頁 #-
  • [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://detaramedia.blog95.fc2.com/tb.php/75-282ca080
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。