dw.openWithApp()を使用する際の注意

DreamweaverのJavaScript APIには指定したファイルを指定したアプリで開くというdw.openWithApp() という関数があります。その関数を使用する際の注意事項。

DreamweaverのJavaScript APIには指定したファイルを指定したアプリで開くというdw.openWithApp() という関数があります。その関数を使用する際の注意事項。

まず、外部アプリケーションを起動するためにこの関数を使う場合の注意。この関数は引数を2つ取ります。引数の1つめはアプリケーションに渡すファイルのfile URL、2つめは実行するアプリケーションのfile URLです。外部アプリケーションを起動するだけならファイルを渡す必要はないので1つめの引数にnullとかを渡してしまいそうですが、そこが落とし穴。dw.openWithApp()では渡すファイルが存在しているかどうかを確認しているので、存在していないfile URLなどを渡すと関数がエラーを返します。なので、ダミーのファイルでも良いので適当なファイルのfile URLを渡す必要があります。

つぎに、dw.openWithApp()は、起動する外部アプリケーションの終了を待たない仕様になっています(すくなくともOS X上では)。なので、dw.openWithApp()で外部アプリケーションを起動し、そのアプリケーションにデータを加工させた後で、そのデータを処理するというようなDreamweaverのコマンドを書いた場合、アプリケーションの終了までコマンドの実行を待つという処理を付け加えておく必要があります。これにはいろいろな方法があると思いますが、アプリケーションの終了時に指定した場所にファイルを作らせ、そのファイルができたらアプリケーションの実行が終わったと判定するという方法があると思います。

Leave a Reply

Your email address will not be published. Required fields are marked *