Apollo = Delphi + Ruby
ap-841a MSI 版に含まれる Ruby について
なかむら(う) さんが配布されているパッケージを展開して
bin, lib, doc, man, share フォルダをそのまま MSI に入れています。
使用したパッケージは次のとおり:
(MSI 作成時での) 1.8 系の最新リリース版
http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html
* ruby-1.8.4-i386-mswin32.zip
ruby 1.8.4 (2005-12-24) [i386-mswin32]
ap-841a MSI 版に含まれる DLL について
Ruby 拡張ライブラリが依存するライブラリをいくつか含めています。
これらは展開してフォルダをそのまま MSI に入れています。
http://www.garbagecollect.jp/ruby/mswin32/ja/documents/install.html
http://jarp.jin.gr.jp/win32/
* gdbm-1.8.3-1-mswin32.zip
* openssl-0.9.7b-1-mswin32.zip
* pdcurses-2.60-1-mswin32.zip
* readline-4.3-2-mswin32.zip
* zlib-1.1.4-1-mswin32.zip
http://www.kaoriya.net/#LIBICONV
* iconv-1.9.1-dll.tar.bz2
Libiconv DLL 1.9.1 for Windows
ap-841a MSI 版に含まれる BDE について
この配布には Borland Database Engine (BDE) が含まれます。
http://info.borland.com/devsupport/bde/bdeupdate.html
* bdemm52ent.exe
BDE 5.2 MSI Merge Module English Enterprise version
ap-841a MSI 版に含まれる dbExpress ドライバについて
この配布には Delphi 6 の dbExpress ドライバが含まれます。
http://www.borland.co.jp/delphi/del6up.html
* Delphi 6 Update Pack 2
* Informix ドライバアップデート
* InterBase ドライバアップデート
これらを適用しています。
2005-12-28 moriq
* src/u/uListItem.pas 1.12:
* uListItem.pas:
* alias selected? selected.
* alias checked? checked.
* added cancel_edit edit_caption.
* src/PhiProp.inc 1.13:
* src/test/listitem_test.rb 1.2:
updated.
* src/test/listitem_test.rb 1.4:
* src/u/uListItem.pas 1.14:
* src/u/uPoint.pas 1.3:
* src/u/uRect.pas 1.5:
* u\uListItem.pas: methods added: handle, overlay_index,
sub_item_images, position, make_visible, indent.
* doc/ap-bin.h 1.16:
* src/version.pas 1.16:
* src/version.txt 1.16:
ap-841a
* src/ext/direct/uForm.pas 1.2:
* src/u/uTreeNode.pas 1.8:
fixed.
* src/test/listitem_test.rb 1.3:
* src/u/uListItem.pas 1.13:
* uListItem: added display_rect. added const TDisplayCode.
* src/test/listitem_test.rb 1.5:
* src/u/uListItem.pas 1.15:
* src/u/uTreeNode.pas 1.7:
* uListItem: deadのときの例外クラスはPhi::DelphiError.
* uTreeNode: 同上
* uListItem: methods added: cut, drop_target, deleting, focused, delete, assign.
* src/test/imagelist_test.rb 1.1:
added.
2005-12-27 moriq
* src/PhiProp.inc 1.12:
updated.
* bin/test/ap-dev-1204.rb 1.1:
* bin/test/ap-dev-1359.rb 1.1:
* bin/test/ap-dev-1423.rb 1.1:
* bin/test/ap-dev-1978.rb 1.1:
* bin/test/ap-dev-2012.rb 1.1:
* bin/test/ap-dev-2028.rb 1.1:
* bin/test/ap-list-3518.rb 1.1:
* src/test/listitem_test.rb 1.1:
* src/test/strings_test.rb 1.1:
* src/test/treenode_test.rb 1.1:
added.
* src/u/uListItem.pas 1.11:
* src/u/uStrings.pas 1.2:
* src/u/uTreeNode.pas 1.6:
* uListItem.pas (ListItem_get_left): 追加
* uListitem.pas (Init_ListItem): undef ListItem.new, ListItems.new. ListItems.superclass は Persistent.
* uStrings.pas (Init_Strings): Strings.superclass は Persistent.
* uTreeNode.pas (Init_TreeNode): undef TreeNode.new, TreeNodes.new. TreeNodes.superclass は Persistent.
2005-12-27 moriq
* src/PhiProp.inc 1.12:
updated.
* bin/test/ap-dev-1204.rb 1.1:
* bin/test/ap-dev-1359.rb 1.1:
* bin/test/ap-dev-1423.rb 1.1:
* bin/test/ap-dev-1978.rb 1.1:
* bin/test/ap-dev-2012.rb 1.1:
* bin/test/ap-dev-2028.rb 1.1:
* bin/test/ap-list-3518.rb 1.1:
* src/test/listitem_test.rb 1.1:
* src/test/strings_test.rb 1.1:
* src/test/treenode_test.rb 1.1:
added.
* src/u/uListItem.pas 1.11:
* src/u/uStrings.pas 1.2:
* src/u/uTreeNode.pas 1.6:
* uListItem.pas (ListItem_get_left): 追加
* uListitem.pas (Init_ListItem): undef ListItem.new, ListItems.new. ListItems.superclass は Persistent.
* uStrings.pas (Init_Strings): Strings.superclass は Persistent.
* uTreeNode.pas (Init_TreeNode): undef TreeNode.new, TreeNodes.new. TreeNodes.superclass は Persistent.
2005-12-27 moriq
* src/PhiProp.inc 1.12:
updated.
* bin/test/ap-dev-1204.rb 1.1:
* bin/test/ap-dev-1359.rb 1.1:
* bin/test/ap-dev-1423.rb 1.1:
* bin/test/ap-dev-1978.rb 1.1:
* bin/test/ap-dev-2012.rb 1.1:
* bin/test/ap-dev-2028.rb 1.1:
* bin/test/ap-list-3518.rb 1.1:
* src/test/listitem_test.rb 1.1:
* src/test/strings_test.rb 1.1:
* src/test/treenode_test.rb 1.1:
added.
* src/u/uListItem.pas 1.11:
* src/u/uStrings.pas 1.2:
* src/u/uTreeNode.pas 1.6:
* uListItem.pas (ListItem_get_left): 追加
* uListitem.pas (Init_ListItem): undef ListItem.new, ListItems.new. ListItems.superclass は Persistent.
* uStrings.pas (Init_Strings): Strings.superclass は Persistent.
* uTreeNode.pas (Init_TreeNode): undef TreeNode.new, TreeNodes.new. TreeNodes.superclass は Persistent.
2005-12-27 moriq
* src/PhiProp.inc 1.12:
updated.
* bin/test/ap-dev-1204.rb 1.1:
* bin/test/ap-dev-1359.rb 1.1:
* bin/test/ap-dev-1423.rb 1.1:
* bin/test/ap-dev-1978.rb 1.1:
* bin/test/ap-dev-2012.rb 1.1:
* bin/test/ap-dev-2028.rb 1.1:
* bin/test/ap-list-3518.rb 1.1:
* src/test/listitem_test.rb 1.1:
* src/test/strings_test.rb 1.1:
* src/test/treenode_test.rb 1.1:
added.
* src/u/uListItem.pas 1.11:
* src/u/uStrings.pas 1.2:
* src/u/uTreeNode.pas 1.6:
* uListItem.pas (ListItem_get_left): 追加
* uListitem.pas (Init_ListItem): undef ListItem.new, ListItems.new. ListItems.superclass は Persistent.
* uStrings.pas (Init_Strings): Strings.superclass は Persistent.
* uTreeNode.pas (Init_TreeNode): undef TreeNode.new, TreeNodes.new. TreeNodes.superclass は Persistent.
2005-12-22 take_tk
* src/u/uDateTime.pas 1.12:
add Phi::MIN/MAX_DATE_TIME [ap-dev:2031]
2005-12-20 moriq
* src/u/uDateTime.pas 1.10:
* u\uDateTime.pas: UnixDateDelta * SecsPerDay は overflow. orz
* src/u/uDateTime.pas 1.11:
* u\uDateTime.pas: removed debug code.
* src/u/uDateTime.pas 1.9:
* u\uDateTime.pas: ちょっとした修正
2005-12-19 moriq
* lib/rdb/dbx.rb 1.9:
* lib/rdb/rdb.rb 1.8:
* src/Apollo.dof 1.15:
* src/Apollo.res 1.5:
* src/ext/webbrowser/webbrowser.dpr 1.5:
* src/u/uCanvas.pas 1.7:
* src/u/uListItem.pas 1.10:
* src/u/uListView.pas 1.10:
- u/uCanvas.pas (Canvas_set_pixels): ruby-1.9 mingw32 に対応するため argv を Tvalue_array でなく Rubies.Pvalue にキャストする。
- u/uCanvas.pas (Canvas_get_pixels): 同上
- u/uListItem.pas (ListItem_get_image_index): 追加
- u/uListItem.pas (ListItem_set_image_index, ListItem_get_state_index, ListItem_set_state_index): 同上
- u/uListView.pas (ListView_get_item_at): item が nil のときは Qnil を返す。また item が存在したとき Ruby 側で ListItem を新たに生成せず既存の ListItem を返す。- u/uListView.pas (ListView_get_hit_test_info_at): 追加
2005-12-19 take_tk
* src/ext/editor/uEditor.pas 1.8:
* src/ext/rdb/ado/uADODataSet.pas 1.3:
* src/ext/rdb/rdb/uDataSet.pas 1.6:
* src/u/uCanvas.pas 1.6:
* src/u/uCheckListBox.pas 1.3:
* src/u/uColorBox.pas 1.2:
* src/u/uValueListEditor.pas 1.2:
debug ap_src_maker & its products [ap-dev:2024]
* src/ap_src_maker.rb 1.4:
debug ap_src_maker.rb [ap-dev:2025]
2005-12-16 take_tk
* src/u/uProp.pas 1.8:
debug uProp.pas [ap-dev:2021]
2005-12-14 take_tk
* src/PhiHandle.pas 1.12:
validate on_mouse_wheel_up/down [ap-dev:2013]
2005-12-07 take_tk
* src/ext/rdb/bde/uDatabase.pas 1.4:
uDatabase.pas fix for [ap-list:3530] db = Phi::Database.new('c:/
Kdata.db')
2005-12-02 moriq
* src/ruby/wrapimp.pas 1.13:
* src/u/uGrid.pas 1.4:
* src/u/uRect.pas 1.4:
* ruby/wrapimp.pas (rb_frame_orig_func): ruby-1.9.0 に対応 (-DRUBY19)
* u/uGrid.pas (get_cells): array of Tvalue の代わりに Pvalue を使う (Ruby-1.9.0 mingw32 で EInvalidPointer になるため)。
* u/uGrid.pas (set_cells, get_cols, set_cols, get_rows, set_rows): 同上
2005-12-01 moriq
* src/ruby/type.pas 1.5:
* ruby/type.pas:
* TRNode: union の変換の仕方が間違っている。
* TRFrame: ruby 1.9.0 に対応
* TRVarmap: typo 修正
* bin/phi.rb 1.12:
- define_child_attr が重複する (MenuContainer ControlContainer を
両方 include する Form で)
* bin/test/delphian-auto-name.rb 1.3:
* sample/path/WideDashedLine.rb 1.1:
* sample/rdb/ado/northwind/test.rb 1.2:
* src/ruby/type.pas 1.6:
* src/u/uComponent.pas 1.9:
* src/u/uForm.pas 1.13:
* src/wrapexp.inc 1.4:
* bin\test\delphian-auto-name.rb: ちょっとした修正
* sample\path\WideDashedLine.rb: 追加
* sample\rdb\ado\northwind\test.rb: require 'com' は不要になった
* src\wrapexp.inc: rb_frame_last_func を追加
* src\ruby\type.pas: ちょっとした修正
* src\u\uComponent.pas (CompoSetup): array of Tvalue の代わりに Pvalue を使う (Ruby-1.9.0 mingw32 で EInvalidPointer になるため)
* src\u\uForm.pas (Form_new): 同上
2005-12-01 take_tk
* lib/rdb/ado.rb 1.3:
[ap-dev:2003] add "require 'com'" in rdb/ado.rb
2005-11-30 moriq
* bin/test/delphian-auto-name.rb 1.2:
* sample/dirtree.rb 1.2:
* src/u/uComponent.pas 1.8:
* src/u/uProp.pas 1.7:
- ちょっとした修正
* src/ext/tasktray/tasktray.dpr 1.3:
* src/ruby/func/rb_eval.pas 1.3:
* src/ruby/funcint.pas 1.4:
* src/ruby/mkfunc.rb 1.3:
* src/ruby/type.pas 1.3:
* src/ruby/type.pas 1.4:
* src/ruby/wrapimp.pas 1.12:
* src/ruby/wrapint.pas 1.8:
* src/u/uProp.pas 1.6:
- ruby-1.9.0 に対応 (-DRUBY19)
2005-11-29 moriq
* src/ext/path/path.dpr 1.3:
- cdecl; を忘れていた。
2005-11-25 moriq
* bin/phi-all.rb 1.3:
* lib/File_unix.rb 1.2:
* src/PhiMainUnit.pas 1.18:
* src/PhiProp.inc 1.11:
* src/Pythia.pas 1.7:
* src/ext/rdb/rdb/uDBGrid.pas 1.4:
* src/u/uPersistent.pas 1.7:
* src/uStrUtils.pas 1.2:
* PhiMainUnit.pas: Component._load を実行したとき Delphi のクラス名から Phi_ を取り除いて検索するようにしました。
* PhiProp.inc: PhiProp.bat を実行して作り直しました。
* Pythia.pas: Pythia.bat を実行して作り直しました。
* ext/rdb/rdb/uDBGrid.pas (DBGrid_alloc): initialize を呼ぶようにしました。
2005-11-24 take_tk
* src/u/uDateTime.pas 1.8:
add DateTime#next_XX [ap-list:3524]
2005-11-11 take_tk
* src/ext/rdb/rdb/uDBGrid.pas 1.2:
[ap-dev:1979] debug DBGrid#title_font
* src/ext/cal/cal.dpr 1.4:
* src/ext/rdb/rdb/uDBGrid.pas 1.3:
[ap-dev:1983] cal.dpr DateTimePicker#constraints DBGrid#
constraints
* src/ext/rdb/rdb/rdb.dpr 1.4:
* src/ext/rdb/rdb/uDBCheckBox.pas 1.1:
* src/ext/rdb/rdb/uDBComboBox.pas 1.1:
* src/ext/rdb/rdb/uDBImage.pas 1.1:
* src/ext/rdb/rdb/uDBListBox.pas 1.1:
* src/ext/rdb/rdb/uDBLookupComboBox.pas 1.1:
* src/ext/rdb/rdb/uDBLookupListBox.pas 1.1:
* src/ext/rdb/rdb/uDBRadioGroup.pas 1.1:
* src/ext/rdb/rdb/uDBRichEdit.pas 1.1:
* src/ext/rdb/rdb/uDBText.pas 1.1:
add DB* (CheckBox ComboBox Image LookupComboBox LookupListBox
RadioGroup RichEdit & Text)
* src/u/uControl.pas 1.7:
[ap-dev:1980] debug Control#control_state & control_style
2005-11-09 take_tk
* sample/dfm_to_rb.rb 1.3:
debug .. apollo/sample/dfm_to_rb.rb .. can use PStore
* src/u/uActionToolBar.pas 1.1:
add uActionToolBar.pas
* src/u/uPersistent.pas 1.6:
[ap-dev:1972] uPersistent.pas
2005-11-08 take_tk
* src/u/uComboBoxEx.pas 1.1:
* src/u/uCoolBar.pas 1.1:
* src/u/uHeaderControl.pas 1.1:
* src/u/uHotKey.pas 1.1:
add uComboBoxEx.pas uCoolBar.pas uHeaderControl.pas uHotKey.pas
* src/PhiMainUnit.pas 1.17:
* src/u/uActionMainMenuBar.pas 1.1:
* src/u/uActionManager.pas 1.1:
* src/u/uApplicationEvents.pas 1.1:
* src/u/uCustomizeDlg.pas 1.1:
add uActionMainMenuBar.pas uActionManager.pas
uApplicationEvents.pas uCustomizeDlg.pas
* src/u/uColorBox.pas 1.1:
* src/u/uControlBar.pas 1.1:
add uColorBox.pas & uControlBar.pas
* src/u/uDdeClientConv.pas 1.1:
* src/u/uDdeClientItem.pas 1.1:
* src/u/uDdeServerConv.pas 1.1:
* src/u/uDdeServerItem.pas 1.1:
* src/u/uValueListEditor.pas 1.1:
add uDdeClientConv.pas uDdeClientItem.pas uDdeServerConv.pas
uDdeServerItem.pas uValueListEditor.pas
2005-11-07 take_tk
* src/u/uCheckListBox.pas 1.1:
add uCheckListBox.pas
* src/u/uCheckListBox.pas 1.2:
add CheckListBox#state
2005-11-06 moriq
* bin/phi.rb 1.11:
* src/Apollo.dpr 1.2:
* src/Apollo.res 1.4:
* src/ext/path/path.dpr 1.2:
* Apollo.dpr: (Delphi2005, WinXP) Theme を使用していると終了時に落ちる。とりあえず回避。
* ext\path\path.dpr (Path_draw_path): added.
* bin/test/ap-dev-1626.rb 1.2:
* src/u/uLabeledEdit.pas 1.2:
* Phi::LabeledEdit#edit_label: fixed.
2005-10-24 moriq
* src/PhiForm.pas 1.8:
* src/u/uCollection.pas 1.3:
* src/u/uComponent.pas 1.7:
* src/u/uCreateParams.pas 1.3:
* src/u/uForm.pas 1.12:
* src/u/uListItem.pas 1.9:
* src/u/uListView.pas 1.9:
* src/u/uTreeNode.pas 1.5:
* u\uCreateParams.pas (CreateParams_alloc, CreateParams_assign):
Caption を設定するようにしました。
Caption が未定義になる問題は '' を初期値とすることで回避します。
* u\uCollection.pas (Collection_add):
ブロックを与えると self context で評価します (instance_eval を行います)。
* u\uListItem.pas (ListItems_add): 同上。
* u\uTreeNode.pas (TreeNodes_add): 同上。
2005-10-19 moriq
* src/u/uColor.pas 1.2:
* u\uColor.pas: ExtendedColors を定義しました。
2005-10-07 moriq
* src/conf_opt.sample 1.4:
* src/config.rb 1.11:
* src/phi.cfg 1.19:
* conf_opt.sample:
ディレクトリセパレータを \\ にしました。
Delphi 2005 での設定サンプルを追加しました。
* config.rb:
Delphi 2005 Pro. のパッケージリストから Indy*, Rave* を取り除きました。
2005-09-13 take_tk
* src/ap_src_maker_src/ap_xx.rb 1.2:
* src/ext/internet/InternetHandle.pas 1.3:
* src/ext/internet/internet.dpr 1.3:
add OnError,OnClientError to internet.dpr
2005-04-09 take_tk
* src/ap_src_maker.rb 1.3:
* src/u/uDateTime.pas 1.7:
uDateTime.new .. subset of ISO 8601 format
2005-03-08 moriq
* src/Apollo.cfg 1.14:
* src/AppPath.cfg 1.14:
* src/jpn/Apollo.cfg 1.14:
* src/ruby_ap.cfg 1.14:
return to r1.12
* src/Apollo.cfg 1.13:
* src/Apollo.drc 1.2:
* src/Apollo.res 1.2:
* src/AppPath.cfg 1.13:
* src/AppPath.res 1.2:
* src/config.rb 1.10:
* src/ext/dialogs/dialogs.cfg 1.15:
* src/heverdef.inc 1.2:
* src/jpn/Apollo.cfg 1.13:
* src/phi.cfg 1.17:
* src/ruby_ap.cfg 1.13:
* src/u/uForm.pas 1.11:
for Delphi 2005
* src/phi.cfg 1.18:
return to r1.16
* src/Apollo.drc 1.3:
* src/Apollo.res 1.3:
* src/AppPath.res 1.3:
return to previous revision
* src/ext/dialogs/dialogs.cfg 1.16:
return to r1.14
2005-02-19 moriq
* src/PhiMainUnit.pas 1.16:
* src/u/uCreateParams.pas 1.2:
[ap-dev:1935]
2005-02-06 take_tk
* sample/dfm_to_rb.dfm 1.2:
dfm_to_rb.dfm .. typo
2005-01-27 moriq
* src/phi.cfg 1.16:
* src/phi.dof 1.28:
* src/test/listview_test.rb 1.2:
* src/u/uListItem.pas 1.8:
* test/listview_test.rb: test_owner_data を追加。特に lv.owner_data == true のとき lv.items.add, lv.items[n] で得られる ListItem について確認する。
* uListItem.pas (checked): 追加。
* uListItem.pas (aref, add, insert, delete): TListView.OwnerData に対応。
* release.bat 1.5:
* sample/console/typeinfo.rb 1.2:
* src/config.rb 1.9:
* src/deconf.rb 1.2:
* src/ext/strcolgrid/strcolgrid.dpr 1.3:
* src/test/listview_test.rb 1.1:
* src/u/uComponent.pas 1.6:
* src/u/uListView.pas 1.8:
* src/u/uPersistent.pas 1.5:
* release.bat: deconf は conf_opt.sample でなく (config 時に使用した) conf_opt.rb を基にしないと元に戻りません。
* config.rb deconf.rb: config.rb は load (or require) 時に DELPHI_VERSION, DELPHI_EDITION を基に DELPHI_PACKAGE を設定するので、deconf.rb で DELPHI_VERSION, DELPHI_EDITION を変えても効果がありません。なので、config.rb の中で deconf に合わせた処理を行うようにしました。
* uComponent.pas uPersistent.pas: Component.type_info を Persistent.type_info に移しました。
* uListView.pas (find_caption): 戻り値が nil のとき落ちていました。また、戻り値として新たに ListItem オブジェクトを生成していましたが、元の ListItem オブジェクトを返すようにしました。
* uListView.pas (item_at): item_at は get_item_at の alias とすべきです。まだ対応できていません。
* uListView.pas (clear): ListItems_clear を考慮しないとだめです。まだ対応できていません。
2005-01-19 take_tk
* src/u/uDateTime.pas 1.6:
DateTime#dup .. add
2005-01-18 take_tk
* src/ext/comm/comm.dpr 1.3:
add CommX#time_out_send= & buf_len_trans=
* src/ext/rdb/rdb/uParam.pas 1.2:
modify .. Param#inspect
2004-12-28 take_tk
* bin/set_path_for_ruby.rb 1.2:
set_path_for_ruby.rb .. typo