2015-07-14

パネル形式スクリプトとワークスペースの破壊

パネル形式のスクリプトはワークスペースに保存でき、
いちいちマウスでメニューから呼び出す必要がないので非常に便利です。

ところが、コーディングによってはワークスペースが呼び出された瞬間に問題が発生して、
AEが落ちたりワークスペースが破壊されたりすることがわかりました。

project_win_break

画像はワークスペースが破壊され、AEを起動する度にプロジェクトウィンドウが増殖状態になったものです。
こうなるとワークスペースの環境設定ファイルを一度捨てる必要があります。

以下のフォルダはバックアップしておくと良いです。
C:\Users\XXX\AppData\Roaming\Adobe\After Effects\XXX
※XXXは各ユーザーとAEのバージョン
・ModifiedWorkspaces-J
・OriginalUserWorkspaces-J

原因

ワークスペースのセットから、パネルとして呼び出された瞬間に、
app.project.showWindow(true);
が呼び出されると、落ちるようです。

また、winObj.show();を呼び出すタイミングによっても落ちるようです。
以下のような記述にすれば落ちません。

(function (thisObj)
{
this.exec = function()
{
var winObj = (thisObj instanceof Panel) ? thisObj : new Window(“palette”,”test”,[100,100,200,200], {resizeable: false});
winObj.ok = winObj.add(“button”,[20,20,150,40],”ok”)
return winObj;
}
var retWinObj = this.exec();
if (retWinObj instanceof Window)
{
retWinObj.center();
retWinObj.show();
}
})(this);


他のコーディングでも問題ないやり方はたくさんあると思いますが、
開発時はワークスペースから呼び出しても問題無いか確認する必要がありそうです。

なお、上記の現象はWindows CS6のみで検証しています。
他のバージョンでは不明です。



タグ : [タグを追加する]


この記事の投稿者について:ru_izw

フィードバック

1 Star2 Stars3 Stars4 Stars5 Stars
評価がまだありません。この記事はどうでしたか?
Loading...Loading...

この記事に対する 1 の反応があります


  1. 1 Jaylon 11月 17th, 2016 at 10:14

    An answer from an expert! Thanks for conruibtting.

コメントをどうぞ!




特集