
Hand in hand is the only way to learn, always right way to learn.
ActiveScriptRuby for Ruby 1.4.6
プレリリース1.0.0.10 (Ruby1.4.6/RScript 1.0.6.4/GRScript 1.0.6.7)
パッケージについて(約700K)
同梱しているrubymw.dllなどは、8/20に、ruby-lang.orgから落としたruby1.4.6をVC++6.0SP4でビルドしたものです(ruby-list24520のパッチを追加してます)。同梱のwin32ole.dllは、0.1.4を同様に8/27に助田さんのところから落としたものをVC++6.0SP4でビルドしたものです。tcltkutl.dllはTcl83用にメイクしたものです。拡張ライブラリおよびRuby本体は、MSVCRT.DLLではなく、RubyCRT.DLLを使用しています。
パッケージの内容
- Ruby.EXE, RubyMW.DLL, RubyCRT.DLL
- fcntl.dll, GD.dll(PNG版, mandel.dllも), md5.dll, nkf.dll, sdbm.dll, socket.dll, tcltklib.dll(tcl83用),tkutil.dll, win32api.dll, win32ole.dll
- その他、元々のlibに入っていたスクリプト
- ActiveScriptRuby (RScript.dll, GRScript.dll)
- ActiveScriptRubyを使ったsampleちょっぴり
インストール方法
- Windows2000とWindowsME以外のWindowsを使っている場合は、まずこちらを参照のこと。
- ActiveRuby.binを適当なディレクトリに落とし、名前をActiveRuby.msiに変更します。
そしたら、ダブルクリック。後は、MSIが勝手にやります。(インストールするディレクトリの指定は可能)
インストーラが行うこと
- デフォルトで、C:\Program Files\Ruby(変更可能)の下に各種バイナリーをコピーします。また、そのディレクトリ内のlibの下に各種ライブラリーをコピーします。
- 拡張子.rbを、Ruby.exeとCScriptとWScriptついでにNotepadに関連付けます(HKEY_CLASS_ROOTのグローバルな設定を変更するため、パワーユーザー以上の権限が必要です)。
- 拡張子.rbのアイコンをGRScript.DLLに設定します。
- 要するにディレクトリ1個とその下にサブディレクトリを作ります。
- レジストリの、HEKY_CLASS_ROOT\.rb, HKEY_CLASS_ROOT\RubyScriptFile,HKEY_CLASS_ROOT\RubyScript,HKEY_CLASS_ROOT\GlobalRubyScriptを作成します。
- レジストリの、HKEY_CLASS_ROOT\CLSID下にActiveScriptRubyを登録します。
インストーラが行わないこと
- WindowsディレクトリやSystemディレクトリに、ファイルのコピーは行いません。
- PATH環境変数のセットは行いません。必要なら自分でやってください。
- Windows9X系の場合、CScriptを使用することで、たいていのことはそのままできますが、Ruby自体に対する引数が必要な場合は、PATHを設定するほうが、よいでしょう。
アンインストール方法
コントロールパネルの「アプリケーションの追加と削除」からActiveRubyを選択して、削除を実行してください。
アンインストーラが行ない過ぎること
- ごめん! 元々.rbとかを登録していても、Windows2000でエクスプローラから関連付けした場合以外、削除しちゃいます。
インストールにあたっての注意事項
- パッケージのファイル名は、geocities.co.jpのファイルエクステンションの制限のために、ActiveRuby.binとなっていますが、実際は、Microsoft Windows Installerパッケージです。拡張子をmsiに直してご使用ください。またはディスクへ保存時に拡張子をmsiとしてコピーしてください。どうしても、そういった手順が嫌な場合は、香港へどうぞ。ただし、MIMEタイプが不正なので、IEで落としてください。
インストールのためには
- Windows Installer1.1以上が必要。これは、Windows2000とWindowsMEにはあらかじめ組み込まれているが、それ以外のWindowsではアドオンとなっている。
- NT4.0ユーザーは、ここから落とせる。
- 9xユーザーも、ここから落とせる。
動作環境
- Windows2000, WindowsME。基本的に考慮は不要。
- Windows9xは、DCOM1.1以上が必要。通常、IE5.01をインストールすれば入る。ちなみに現在はDCOM1.3となっていて、これでテストをしています。Windows98の場合、基本的にはそのまま使える。
- WindowsNTはSP3以降が必須。テストはSP6Aで実施していた。が、NTからWindows2000へ移行したのでNT4のことは知りません。だってW2Kはサスペンドできるんだもん。節約だね、デン子ちゃん。
- 従って、1.6系は、Windows2000SP1でテスト。
- IEは4.0以上が必須。テストはIE5.5SP1で実施。
- ただし、IE4.0の一部のリリースでは、Scriptタグ内のブロックを改行コード無しで送ってくるものがあります。Ruby的にはコンパイルエラーとなるので、そうなったら(sampleディレクトリのRuby.HTMLを動かすと、いきなりソースコードだらけのメッセージボックスが出て文句を垂れるのでわかる)IEをバージョンアップするか(どうせ、セキュリティホールが埋まってないから、IE5.5にしたほうがマシだよ)、IE系での使用はあきらめてください。
- Windows98とWindows2000では標準だけど、NTではOptionPack,95ではわからない、WindowsScriptingHostが無いと、寂しい。
実行環境の補足説明
- 内部で、RubyLib用パスとしてRScript.DLLが存在するディレクトリ直下のlibという名前のディレクトリを設定します。
- 従って、必要なライブラリはそこに入れてください。
なお、ホストするアプリケーションが存在するパスもRubyLibパスに含めますので、アプリケーションが使用するスクリプトはアプリケーション自身と同一のディレクトリに存在すればOKです。
ソースファイルの入手情報
Ruby、Win32OLE、RubyWin、SWin、ActiveScriptRubyそれぞれのソースファイルは、このページの下のほうに記述されたサイトから入手可能です。
サンプル
Rubyを256倍使うための本-邪道編をお勧めします。とか(とか付けるところに含羞が伺える)。
VB6のサンプル(Ruby本のlifegameのRuby/Tkの代わりにVBを使用したもの)
IE5.01のサンプル
C++サンプル
出来ること出来ないこと
できること
- WScript, CScriptからのRubyスクリプトの実行
- 特定スレッドでのActiveScriptingHostからの呼び出し
- スクリプトコントロールコンテナからのRuby制御
- HTMLそのものの制御言語としての記述(IEのみ。)
- HTA(HTMLアプリケーション)
- スクリプトコンポーネント(XML使うやつ)
- 一応ASP内でも動く。が、推奨はしない。(クライアント数が少なければ吉)
まだやってないこと
- スクリプトコントロール使用したときのモジュール化(優先度低)
- IActiveScriptDebugインターフェイス
当分、できないこと
基本方針はブリッジなのでRubyそのものにパッチが必要なことはできません。
- 完全にインタラクティブな行情報などの提供
- スレッドをいじくること。
特殊なクラス
ActiveScriptRuby<Object: ActiveScriptRuby制御
クラスメソッド
settrace(bool) デバッグ情報のためのトレースを行う(true)か否か
デフォルトはtrue
パフォーマンスアップのキーファクター
falseにすると、デバッグ情報の行番号は全く当てにならなくなる
trace 内部処理用(呼ぶな)
更新情報
07 Jan. 2001, 18:11:51
1.4系は、塩漬けにすることにした。
過去の更新履歴
Rubyを256倍使用する本 邪道編の情報
リソースなど
Ruby1.4用ActiveRubyScriptのソースは、こっち。
ビルドするにはVC++6SP4とWindows2000SDK必須。ActiveScriptとして使用するということは、IE(HTAとしてでも)やWScriptやWindows2000やVBから使うというのが目的になるわけなのでMSテクノロジー(HeHe)完全依存です。特に古いmidl使うと正しいマーシャリングコードが生成されないかも。
Rubyリンク
Ruby Home Page
助田さんのページ
Ruby256邪道リンク。道可道、非常道、是邪道
Rubyを256倍使うための本-邪道編
Rubyを256倍使うための本-邪道編の勝手に正誤表(VED03370 こと Fe2+さんのページ)
ActiveScriptRuby English Page
配布条件
ActiveScriptRuby自身は、GPLとして、再配布可能。RubyWin,Win32OLE,Rubyについては、それぞれの配布条件に従うこと。
ただし、ActiveScriptRubyのソースファイル内で、Win32oleex.cppは、助田さんのWin32ole.c(単なるフリーソフトウェアという配布条件)を元に作成したソースですので、このソースファイルのみの再利用については、GPLは適用されません。単なるフリーソフトウェアです。
免責事項
ActiveScriptRubyは無保証です。作者自身が使っているため、基本的にはバグの修正を行いますが、だからといって、すべての問題に対応するわけではありません。また、原因がバグであろうが、仕様であろうが、使用したことによって発生したいかなる障害に対しても作者は責任を持ちません。
戻る
copyright(c) 2000 arton, Under GPL