Scriptをjsxbinでバイナリ化して、わざわざjsxにリネームしてフリー配布してる人たちがいるみたいですけど、
こういう意味不明な挙動への対処方法とかを仕込んでるんだったら、jsxbinで配布しててもいいんだけど、
コードオープン化してくれませんかねぇ?w ググっても出てこないっすわよw
気を取り直して、まずは、Windows版のESTKでの例です。バージョンは現行のCCです。
下記のソースコードを、さりげなく実行してみます。
var a="";
for(var i=100;i<300;i++){
a+=i+"/"
}
alert(a);
var b=prompt("check",a,"test");
alert(b);
(1)
(2)
(3)
えっ!? クラッシュしちゃったよ! どうなってんすかー!!!
※1 なぜかCS1(3.0.1_838_J)環境だけはクラッシュしなかったです。えろい人教えて(人∀・)
※2 手元の旧環境を起動して確認したところCS2以降でクラッシュし、現行バージョンのCC2015環境下のESTKまででクラッシュしました。
次に上記のソースコードをmac環境で実行してみたいと思います。
※1 ESTKのバージョンは同じです。10.10.4環境下ですが…
※2 確認したESTKバージョンはCS3~CCです。
(1)
(2)
(3)
結果が違う!!!Adobeさん、こういうのホント勘弁してー
InDesignでmacでもwinでも動作するScriptで入力させる必要があるときは、
回避する方法としてdialogを作ってtextEditboxesに入力してもらうということが必要ってことか…
#target indesign
var a="";
for(var i=100;i<300;i++){
a+=i+"/"
}
alert(a);
var dlg=app.dialogs.add({name:"prompt代用"});
with(dlg.dialogColumns.add()){
var tx=textEditboxes.add({minWidth:480, editContents:a});
}
if(dlg.show()){
var b=tx.editContents;
dlg.destroy();
alert(b);
}
みたいなコードを書いておく必要があります…
【数年後の自分へメモ】ESTKでEO使う時はESTKがdllを掴む。ESTKでtarget indesignするコードの時はESTKは掴んでいなくてInDesignがdllを掴む。掴んでしまったらVCでdllをリビルドするとき怒られるので掴んでるアプリを落とす必要がある。