現在RegnessemはSourceForge.jpにおいて、オープンソースとして開発が続けられています。したがって、興味をもった人であれば誰でもRegnessemのソースファイルを入手して独自の改良を加えることが出来ます。
ここでは、コンパイル環境の構築→CVSからソースファイル入手→Delphi 6 Personalによるコンパイルまでの方法を順を追って説明していきます。おかしなところや修正すべき点がありましたらサポートBBSまでお願いします。
ソースファイルをコンパイルするのに必要な以下のファイルをボーランドのサイト(http://www.borland.co.jp)からダウンロードします。
Delphi 6 Personalのライセンス情報を取得します。既にライセンス情報を取得している人は飛ばして次のインストールへ進んで下さい。
Delphi6 Personal版の登録でBJMNアカウントを登録すると、登録したアドレス宛にライセンス情報がメールで送信されてきます。インストールの際に必要になるので控えておいて下さい。
先ほどダウンロードしたBorlandDelphiPersonalEditionJP.exeをダブルクリック。あとはインストーラに表示されるメッセージに従ってインストールして下さい。デフォルトの設定ではC:\ProgramFiles\Borland Delphi Personal Installerにファイルが展開されますが、これらのファイルは修復インストールなどで使われるために、残しておいて下さい。
先ほど入手したライセンス情報を登録するために、一度Delphi 6 Personalを起動します。起動後はウィンドウの指示に従ってライセンス情報(インストールキー、番号)を入力して下さい。
Regnessemをコンパイルするためには最低限Update Pack2までをあてないとコンパイルが通りません。インストールするにはダウンロードしたファイルをダブルクリックして、インストーラの指示に従ってください。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/regnessem/regnessem/にアクセスし、下方にある「Download tarball」をからRegnessem.tar.gzという圧縮ファイルをダウンロードします。これを解凍ツールを使って展開してください。
ここからは実際にソースファイルをコンパイルする方法を順に説明していきます。基本的にnsmsgs.exeを生成するときも各dllを生成するときも手順は同じですので、今回はnsmsgs.exeのコンパイルを例に挙げて説明していきます。
デフォルトでは下記のTestフォルダ及びPluginsフォルダにコンパイルした結果が格納されるので、まずそのフォルダを作成してください。
\ | +-APIWindow +-MinApp +-Regnessem | +-Common | +-Components | +-FileIO.dll | +-msn.dll | +-nsmsgs | +-SimpleUI.dll | +-Utils +-Test <---------- nsmsgs.exeの出力先 +-Plugins <--- プラグインの出力先
次にコンポーネントの取り込み等を行います。Regnessemでは独自のコンポーネントを使用しているので、パッケージからインストールを行います。この作業は一度行えば次回からは必要はありません。
実際にソースのコンパイルを行います。ここから先はコンパイル環境としてBorland Delphi6 Personalを想定して記述してあります。Borland Delphi7を利用している場合は、CVSのソースファイルのままではコンパイルできないことが確認されていますので、Borland Delphi7を利用されている方は「Borland Delphi7を利用している場合は?」もご覧下さい。
注意:警告が出てしまうことがあるかもしれません。
上記の通り、CVSに登録してあるソースファイルはDelphi6 Personalで編集してあるもので、そのままだとDelphi7でコンパイルできないことが確認されています。(技術系の話スレッド参照)
そこで、ここでは掲示板に書き込んでいただいた情報を元にDelphi7でコンパイルする方法を示したいと思います。ただし、自分がDelphi7を使ったことが無いのでまだ間違っている部分等あると思いますので、そのときは掲示板のほうに書き込みをお願いします。
以下、「技術系の話スレッド:>>220」さんによる解決方法で、条件コンパイルを利用してこの問題を回避します。まず、MSHTML_TLBおよびShDocVw_TLBが利用されているソースファイルに対して、以下のように書き加えます。
{$IFDEF NOT-PERSONAL}
MSHTML,ShDocVw
{$ELSE}
MSHTML_TLB,ShDocVw_TLB
{$ENDIF}
[プロジェクト]→[オプション]→[ディレクトリ/条件]→[条件]にNOT-PERSONALと入れてコンパイルします。
プロジェクトメンバ以外はCVSにファイルをアップロードすることは出来ません。改良を加えたファイルをCVSに更新して欲しい人は開発者用のメーリングリストregnessem-devel@lists.sourceforge.jpまでメールを投げて下さい。プロジェクトメンバと協議した後、CVSへ反映させます。
技術系の話スレッドの名無しさん。CyberXさん。