[#46732] ヒアドキュメント内の変数展開が正常に行われない — ShingoKintaka <kamuycikap@...>

Ruby  :1.8.7 (Ubuntu9.10)

12 messages 2010/01/05
[#46733] Re: ヒアドキュメント内の変数展開が正常に行われない — rubikitch@... 2010/01/06

From: ShingoKintaka <kamuycikap@tulip.ocn.ne.jp>

[#46800] DLモジュールの使い方 — kouichi_someya@...

染谷と申します。

12 messages 2010/01/20
[#47678] プログラム実行時に「[BUG] Segmentation fault」 — 染谷 康一 <kouichi_someya@...> 2010/12/09

染谷と申します。

[ruby-list:46769] WindowsでGUIなRuby実行ファイルの作り方について

From: ShingoKintaka <kamuycikap@...>
Date: 2010-01-14 03:24:41 UTC
List: ruby-list #46769
Windows上(XP/Windows7)で開発したWideStudioアプリケーション(Ruby)につ
いて、みなさんどのように実行ファイルを作成されているのか、アイデアを頂き
たく投稿します。
長文です。

私はWideStudioをRubyで利用しています。
利用しているRubyはActiveScriptRubyです。

<環境>
OS   : Windows7/XP
WideStudio: v398-3a
Ruby : ActiveScriptRubyの最新版
コンパイラ : ActiveScriptRubyに付属しているexerb

私はWideStudioとRubyの組み合わせで自分用のツールを作っており、たまにそれ
を同僚や知人に配布することがあります。
この時、当然ながら同僚や知人のパソコンにWideStudioがインストールされてお
りません。
exerbを利用してWideStudioプロジェクトをコンパイルする事を試行錯誤してた
どり着いた方法が下記になります。

□コンパイル
1・WideStudioでRubyによるアプリケーションを開発する
2・「プロジェクト名.rb」を編集して、loadの部分をrequireに変更
3・「プロジェクト名.rb」を引数にしてmkexyコマンドを実行
 ※コマンド実行結果、「プロジェクト名.exy」が作成される
4・「プロジェクト名.exy」を引数にしてexerbコマンドを実行

□配布用インストーラ作成
・WindowsフォルダにあるWideStudioのDLLファイルを全てコピー
・作成したRubyが利用するであろうDLLファイルを実行ファイルと同じパスに全
てコピー
※インストーラーはフリーの物を利用して作っています。

作り方の情報源は下記のサイトです。
http://d.hatena.ne.jp/kamuycikap/20090814/1250210906

<問題1>
情報源により行った実行ファイル作成には問題があります。
それは、「プロジェクト名.rb」のload部分をrequireに書き換えないと、実行
ファイルを動かしたときにエラーになることです。
loadのままでも手順を踏めば実行ファイルは出来上がります。
しかしながら実行するとエラーを吐いてプログラムが止まってしまうのです。

<問題2>
requireに書き換えると動作する実行ファイルが作成出来るのですが、ここでも
問題が発生します。
mkexyコマンドはコンパイルするのに必要な情報を収集(ライブラリ等)しレシピ
ファイルとして保存するプログラムだと思っています。
mkexyをを実行するとレシピファイルを作成する為にアプリケーションが起動す
るのですが、作成アプリケーションの全ての動作を実行してから終了しないと、
正しく動作するプログラムの実行ファイルにならないのです。
つまり、全ての動作を実行しないと、正しくライブラリ情報を取得することが出
来ていない模様です。
※この問題に関しては、WideStudioが問題なのではなく、mkexyコマンドの仕様で
ある可能性もあるのですが、この現象についてメンバーの中に解決作を知ってい
る人がいるかもしれないと思い記述しました。
※実行ファイルを作成する度に、全てのアプリ操作を行うのは効率が悪いです。

以上が私がWindows上でRubyを利用したWideStudioプロジェクトをコンパイルす
る手順と感じている問題になります。
Windows上でWideStudioをRubyで利用しているメンバーの方々は、どのようにし
て実行ファイルにしているのでしょうか?
また、そのアプリケーションを配布する時、どのようにして配布しているので
しょうか?

同じような事を行っている方がいらっしゃいましたら、アイデアを頂きたいと思
います。


In This Thread

Prev Next