もりきゅうです。

Yuya Kato <yuya-ml / 4th.to> wrote:
> * Apollo(phi.so)に対応

>  主な変更点は、Apollo(phi.so)に対応したことです。Apolloのap-635以降
> (現時点では未リリース)のphi.soを使ったスクリプトを、実行ファイルに
> 変換することができるようになりました。
> ただし、Apolloのphi.so以外の*.so(例えば、jpeg.so)には、まだ対応して
> いません。Exerb 2.3.0または2.4.0で対応予定です。

ありがとうございます。
さきほどApollo 0.635 (ap-635)をリリースいたしました。
  http://www.moriq.com/apollo/

少しApolloのご紹介を。

Apollo は Ruby と Delphi/Kylix を双方向につなぎます。Apollo の中核は
Phi という拡張ライブラリで、これは Delphi/Kylix の中核である VCL/CLX
というライブラリのRuby拡張ライブラリです。

Hal Fulton さんの "Ruby Way" での紹介では、ApolloのRubyはちょっと
いじっているというようなことを書かれていますが、昔の話です。
現在は、普通のRuby配布に含まれる mswin32-ruby16.dll で動きます。
なお、Delphi をお持ちの方は src/ruby/type.pas の設定を
msvcrt-ruby17.dll としてコンパイルすれば Ruby 1.7 でも動きます。

以下はリリース告知の抜粋です。


http://www.moriq.com/apollo/archive/ap-635_vcl60.zip

http://homepage1.nifty.com/moriq/ap-635_bde60.msi
http://homepage1.nifty.com/moriq/bdemerge.ini


次のリリースに向けて、Phi拡張ライブラリ作成の自動化を
研究したいと思っています。
Indy対応を手書きで行っていて虚しかったので。^^;


Yuyaさんのご協力を得ましてExerb対応も進んでおります。
  [ruby-list:36101]
Exerb
  http://exerb.sourceforge.jp/
bin/foo.1.rbc は bin/foo.1.rb のExerb定義ファイルです。
foo.1.exe を作るには
D:\exerb\bin>ruby exerb.rb d:\apollo\bin\foo.1.rbc
とします。

Win.* Sys.* => Phi.*
  Win, Sys module を廃止して Phi module に統合しました。
  win32.rb:
  Win = Sys = Phi unless defined? Win  # [ap-dev:0798]
  により、互換性は保たれます。

config.rb を bin に移動。conf_opt.rb の設定内容を変更。
  Delphi環境でコンパイルする際には、あらかじめ conf_opt.rb を設定して
  config.rb を実行してください。*.cfg, *.dof を修正できます。

for Linux
  Kylix3 Open Edition 英語版
  http://www.borland.com/kylix/open/index.html
  Ruby-1.6 を --enable-shared で作成し
  LD_LIBRARY_PATH, RUBYLIB を設定し
  Kylix2Pro.bpg を開いてディレクトリオプションを設定すれば
  ruby_ap, phi.so, dialogs.so を作ることができるでしょう。

  しかし、すぐ core dump するので使い物になりません。(T_T)
  デバッグしてくれる勇者さんを募集。

  Kylix環境でコンパイルする際には、あらかじめ tmp/cutcr.rb を実行して
  \rを取った方が良いでしょう。

----
YOSHIDA Kazuhiro  moriq / moriq.com  http://www.moriq.com/