AREA 021
Featuring AlphaScript

補足: 実行環境関連

 


文字コードについて

AlphaScript では初期設定で文字コードが Shift-JIS のテキストファイルを読み込むようになっていますので、 他の文字コードで保存されたテキストは正しく認識できません。  使用する文字コードを設定する方法は用意していますが、Shift-JIS以外を指定する文字コードの名前がいまいちハッキリしないので、 現在のところは、必ずShift-JIS形式のファイルを使用してください。  文字コードは、ほとんどのエディタでファイルを新しく保存するときに指定できます。  よくわからないときは、新しくソースファイルを作るときは付属の code.txt をコピーしていただければよいかと思います。


プログラミングの心得

AlphaScript は機能を制限することで、もともと安全なJavaアプレットをさらに安全に使えるように設計してあります。  が、それでも一応プログラミング言語と呼べるような仕様ですので、 無理な処理をさせることでフリーズしてしまう、ということは考えられます。 (それによってシステムが破壊されてしまう、などということはないですが)  一応、各機能をよく理解してからスクリプトを書くのが無難です。


緊急停止機能

メインループを実行中、Escキーを押すと、画面が真っ黒になり動作を完全停止します。  以降、ページをリロードするまで何も処理しません。  スクリプトを動かしたとき、非常に”重い”処理をさせてしまい、 システム全体の動作に影響が出てしまった時は、これを使って動作を停止してください。 

この機能は、ユーザーの設定で解除できないようになっています。  これも安全性を高めるための対策、ってとこですね。


ブロックされました。。

WinXP+IE をお使いの場合、最初にアプレットを実行するときに読み込みがブロックされてしまうことがあります。  これは危険なプログラムを安易に実行してしまわないために組み込まれた新しい機能です。  この場合は、画面上部に表示されたバーをクリックして、ブロックを一時的に解除してください。  初期設定では、ハードディスク上のプログラムを実行するときだけで、Webに公開されたものはそのまま実行されます。


メッセージ出ました。。

IE のプログラム修正の関係で、Webページに埋め込まれた動的な要素の上にマウスポインタを乗せると、 「このコントロールをアクティブ化して使用するには・・・」というメッセージ表示されることがあります。  この場合、クリックするかスペースキーを押すまでは、そのコントロールに対しての操作が無効になります。

AlphaSctipt は Java アプレットですので、当然この問題に引っ掛かります。  また、キーボードの入力に関しては、上記の状態でクリックした後、再度クリックしないと有効になりません。  クリックすればちゃんと反応するので大したことではないのですが、面倒と言えば面倒ですね。

対策としては、

・外部ファイルのJavaScriptを使用して埋め込む
・IEが修正されていることを願う(笑)

となります。  前者については、いくつものサイトで解説されていますので、 「このコントロールを・・・」で検索してみてください。 (もちろん、JavaScript を OFF にしているブラウザには無効ですが)

こうなった背景には、特許問題があるようで・・・。  セキュリティの問題といい、厄介なものです。  なお、当サイトのアプレットは、 AlphaScript の説明をすることが目的なので、上記のような対策はしていません。

この問題は、Microsoftが特許権について和解したため、現在のIEでは修正されています。  これについても、詳しくは検索していただければわかると思います。  ということは、もう問題ではないのかもしれません。  まあ一応、書いておきました。


Java のシステムによる制約

Java アプレットを動かしている JavaVM による制約もあります。  例えば、JavaVM の種類やバージョンによって動作速度が変わってきたりします。  Java は「 VM さえあればどんな PC でも同じように動く」という特長を掲げていたのですが、 実際には細かなところ(時には大きな差だったりしますが)で動作が違ったりします。

この他に、大量のメモリを消費すると強制的に動作が停止することがあります。  AlphaScript では、要素数がものすごく多い配列を宣言したりすると、動かないかもしれません。

 

ページ一覧に戻る

Copyright (c) Rabit 2005-2012 all rights reserved.