このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

stack overflow で開けなくなった Application を開くには?

発言者:山崎@ゼロ・オフィス
( Date Thursday, August 28, 1997 20:01:45 )


はじめまして、山崎@ゼロ・オフィスと申します。

私の管理しているサーバーで、使用している アンケートの Form 
処理用の Script が、Stack overflow で、Script Editor (1.1.1)
から開けなくなってしまいました。毎回、クライアントの要求によ
り項目が増えますので、その度に書き加えて使用していたのですが、
今回同じものを開こうとしたら、上記のようになってしまいました。

悪いことに、Application でしか save された物がなく内容を確認
する事もできません。

この、Application 形式のものを、text 化するような Tool は、
無いでしょうか?
もしくは、Script Editer で、開けるようにする Tips みたいな物
はありますか?

ちなみに、Application Memory は、20M まで増やしてもダメでした。
Script のファイルサイズは、約 46k 位です。

内容は、田中さんの Script (すばらしいものをいろいろ公開して
いただいて感謝しております。)を参考に(というか改造)して書
いた物で、form を受け取って Decord などの処理をし、record を
、csv 形式で HTML file に書き加え、同じ record を再編集して
担当者宛に Mail し、全ての処理が完了した後お礼のページへリダ
イレクトする、と言うようになっています。

よろしく、お願いします。

田中求之 さんからのコメント
( Thursday, August 28, 1997 22:03:46 )

>この、Application 形式のものを、text 化するような Tool は、
>無いでしょうか?

アプリケーション(アプレット)の中の scpt リソースの中に、スクリプトが
収められていますので、ResEdit を使ってこれを取り出すという方法があります。
ただし、ResEdit用の scpt テンプレートがないと、うまく取り出せないと思います。
(Apple のサイトのどこかにあったと思います)

もっとも、この場合でも、Stack Overflaw が起きてしまう可能性はあります。
というのも、逆コンパイルを行ってスクリプトを取り出す、という、スクリプトエディタと
同じことを行うからです。つまり、コンパイルされたものをスクリプトに戻す処理を
行う限りは、Stack overflaw が起きてしまう可能性が高いのですね。


山崎@ゼロ・オフィス さんからのコメント
( Thursday, August 28, 1997 22:47:41 )

山崎@ゼロ・オフィスです。

さっそくのご回答ありがとうございます。

>アプリケーション(アプレット)の中の scpt リソースの中に、スクリプトが
>収められていますので、ResEdit を使ってこれを取り出すという方法があります。

すみません。書きませんでしたが、まっさきにこれはやってみました。
が、完全な形では取り出すことができませんでした。

>ただし、ResEdit用の scpt テンプレートがないと、うまく取り出せないと思います。
>(Apple のサイトのどこかにあったと思います)

テンプレートがあるんですか...。
ありがとうございます。さっそく探しに行ってきます。


山崎@ゼロ・オフィス さんからのコメント
( Friday, August 29, 1997 00:31:38 )

山崎@ゼロ・オフィスです。

ちょっと深いところでしたが、なんとか見つけました。

ftp://ftp.apple.com/devworld/Tool_Chest/Interapplication_Communication/
AE_Tools_/ResEdit_%27scpt%27_Editor.sit.hqx

で、さっそく試したところ、見事に取り出すことができました。
ありがとうございました。助かりました。

これでダメだったら、一つ前のバージョンから書き直さなければならないとこ
ろでした。

でも、一度アプレット化してしまうと、やはり Stack overflow でエラーにな
ってしまいます。

以前のスレッドで、コンパイル時や Check Syntax 時に、Stack overflow で
エラーになると言うのがあったと記憶していますが、この時はたしか set 文
のなかで同時にたくさんの変数を扱うと Stack overflow になると言うことだ
ったと思います。

今回の私の場合は、コンパイル及び Check Syntax は問題ありません。
Script Editer で開く場合のみ Stack overflow になります。

この場合も原因は、上記の場合と同じなのでしょうか?

→  ResEdit_%27scpt%27_Editor.sit.hqx

田中求之 さんからのコメント
( Friday, August 29, 1997 12:23:52 )

無事に開けてよかったですね。

スクリプトはテキストで保存し、実行用のものは「実行専用(Run-only)」で作る
ようにする、というのが管理のためには確実なようです(私はすべてこのスタイル
でやってます)。

Stack Overflaw の原因については、はっきりいって、よく分からないですね。
出るときには出てしまう、というのが私の経験です(だからこそテキスト保存を
かならず行うようにしているのですが)。

磯崎 さんからのコメント
( Wednesday, April 01, 1998 03:51:56 )

テキストで保存したスクリプトを消してしまって同じく実行専用のApplicationしかありません。
ResEdit用の scpt テンプレートとResEdit2.1.3は入手しました。
しかしResEditの使い方が全くわかりません。
具体的にどう操作すれば実行専用のApplicationをtext化出来るのでしょうか?
お願いします。

田中求之 さんからのコメント
( Wednesday, April 01, 1998 13:41:50 )

>実行専用のApplication

残念ながら、実行専用で作成したアプリケーションからスクリプトを抜きだすことは
できません。

ありがとうございます。 さんからのコメント
( Wednesday, April 01, 1998 15:17:17 )

そうですか?では一からやりなおします。
save asとsave as run onlyというのがありますが?
save as run onlyにするメリットはあるのでしょうか?

田中求之 さんからのコメント
( Wednesday, April 01, 1998 15:24:44 )

>save as run onlyにするメリットはあるのでしょうか?

スクリプトのサイズが大きくなったときに、エラーが出にくくなります(アプリケー
ションの実行時に必要なメモリーが少なくて済む?)。 あくまでも私の経験ですが。

ですから、スクリプトは必ずテキスト形式で保存するようにし、実行用は Run-Only
として作成するというのが私の方法です。こうすれば、かならずスクリプトは残り
ますからね。