こんばんはヌキヲです。
今日は Ruby ネタで 1.9.3 で VisualuRuby を使う設定です。
Ruby 1.8 系ではすっごくお世話になった VisualuRuby なのですが、
1.9 系はバイナリー配布なし、2.0 系に至っては未対応です。
まぁ、C# など .NET 系が流行ってきて、
Win32API アクセスの GUI はそろそろ下火ですけどね。
それにしても Ruby で GUI を扱うライブラリは悲しい現状です。
数年前から更新の途絶えているものや、Ruby にはポーティングされていないものなどなど。
なにか手軽に使える GUI ライブラリーがほしいものです。
できればクロスプラットフォームで。
Ruby 自体が最近頑張ってる感じなのでなおさらですね。
さて、当の VisualuRuby ですが、日々のメモ@はてな さんで
動作確認されています。ですが、Cygwin 環境。
作者の方も最近は Cygwin でしかビルドが通らないとか?
でも私は Cygwin の環境がないので、どうにか Mingw32-msvcrt で動かないか実験しました。
当初は独自に入れた Mingw+MSYS でビルドしていたのですが、動きません。
そこで、ふと思いついて Ruby-Devkit でビルドしてみたらビンゴ!動いてくれました。
一応メモしておきます。
すべて Windows の コマンドラインでやります。
Mingw や MSYS のシェルではないので注意。
各インストール先は以下の通りです。
違う方は適宜読み替えてください。
まずは swin をビルドします。
Ruby にはパスがっとっている必要があります。
Devkit の方は一時的でいいので、コマンドラインから指定します。
Mingw と MSYS 両方必要だと思います。
そしたら普通にビルドするだけです。
vruby の方は vr 以下を手動でコピーします。
です。
できたらサンプルを動かしてみるのですが、
文字化けするのでサンプルの先頭に
を追加しました。
うまく動いたら成功です。
●おまけ。
VisualuRuby が動いたら次にほしいのは FormDesigner ですよね。
これは 完動 はしなかったのですが、途中まで動いているのでメモします。
SourceForge に公開されているのでダウンロードします。
バージョンは fdvr040323 です。
インストールはしません、展開したフォルダで実行する方針にします。
FormDesigner.rb の先頭から
を削除し
を挿入します。
次に7行目の
をコメントアウトします。
Ruby 1.8 → 1.9 で attr の動作が変わったので変更します。
fdvr フォルダ内にたくさんあるので私はサクラエディタの Grep置換 を使いました。
正規表現を使ったのでチェックを入れます。
これで、一応起動し部品を配置できるようになりました。
残念ながらプロパティウィンドウをクリックすると落ちます。
エンコーディング(漢字 U+656D)を変換するのに失敗しているのですが、
おそらく pack などでまとめたバイナリデータを Strings で使おうとしたためだと思われます。
vruby のバグなのか、FormDesigner のバグなのか私にはわかりませんでした。
助けて!偉い人!!
まぁ、解決するまでプロパティの変更は保存した rb ファイルから行ってください。
今日は Ruby ネタで 1.9.3 で VisualuRuby を使う設定です。
Ruby 1.8 系ではすっごくお世話になった VisualuRuby なのですが、
1.9 系はバイナリー配布なし、2.0 系に至っては未対応です。
まぁ、C# など .NET 系が流行ってきて、
Win32API アクセスの GUI はそろそろ下火ですけどね。
それにしても Ruby で GUI を扱うライブラリは悲しい現状です。
数年前から更新の途絶えているものや、Ruby にはポーティングされていないものなどなど。
なにか手軽に使える GUI ライブラリーがほしいものです。
できればクロスプラットフォームで。
Ruby 自体が最近頑張ってる感じなのでなおさらですね。
さて、当の VisualuRuby ですが、日々のメモ@はてな さんで
動作確認されています。ですが、Cygwin 環境。
作者の方も最近は Cygwin でしかビルドが通らないとか?
でも私は Cygwin の環境がないので、どうにか Mingw32-msvcrt で動かないか実験しました。
当初は独自に入れた Mingw+MSYS でビルドしていたのですが、動きません。
そこで、ふと思いついて Ruby-Devkit でビルドしてみたらビンゴ!動いてくれました。
一応メモしておきます。
すべて Windows の コマンドラインでやります。
Mingw や MSYS のシェルではないので注意。
各インストール先は以下の通りです。
Ruby 1.9.3 → C:/Devz/Ruby193 Ruby-Devkit → C:/Devz/Ruby-Devkit swin ソース → C:/Devz/temp/swin
違う方は適宜読み替えてください。
まずは swin をビルドします。
Ruby にはパスがっとっている必要があります。
Devkit の方は一時的でいいので、コマンドラインから指定します。
Mingw と MSYS 両方必要だと思います。
> path=C:\Devz\Ruby-Devkit\bin;C:\Devz\Ruby-Devkit\mingw\bin;%path%
そしたら普通にビルドするだけです。
> ruby extconfig.rb
> make
> makr install
vruby の方は vr 以下を手動でコピーします。
C:\Devz\Ruby193\lib\ruby\site_ruby\1.9.1
です。
できたらサンプルを動かしてみるのですが、
文字化けするのでサンプルの先頭に
#! ruby -EWindows-31J
# -*- mode:ruby; coding:Windows-31J -*-
を追加しました。
うまく動いたら成功です。
●おまけ。
VisualuRuby が動いたら次にほしいのは FormDesigner ですよね。
これは 完動 はしなかったのですが、途中まで動いているのでメモします。
SourceForge に公開されているのでダウンロードします。
バージョンは fdvr040323 です。
インストールはしません、展開したフォルダで実行する方針にします。
FormDesigner.rb の先頭から
#! ruby -Ks
を削除し
#! ruby -EWindows-31J
# -*- mode:ruby; coding:Windows-31J -*-
を挿入します。
次に7行目の
$KCODE = 's'
をコメントアウトします。
Ruby 1.8 → 1.9 で attr の動作が変わったので変更します。
fdvr フォルダ内にたくさんあるので私はサクラエディタの Grep置換 を使いました。
正規表現を使ったのでチェックを入れます。
置換前 attr :(.*),1$
置換後 attr_accessor :$1
これで、一応起動し部品を配置できるようになりました。
残念ながらプロパティウィンドウをクリックすると落ちます。
エンコーディング(漢字 U+656D)を変換するのに失敗しているのですが、
おそらく pack などでまとめたバイナリデータを Strings で使おうとしたためだと思われます。
vruby のバグなのか、FormDesigner のバグなのか私にはわかりませんでした。
助けて!偉い人!!
まぁ、解決するまでプロパティの変更は保存した rb ファイルから行ってください。
※コメント投稿者のブログIDはブログ作成者のみに通知されます