そういえば、長いこと、このWeblogでは普通の記事を書いてなかったなと思いつつ、これからしばらく表題の件について書いていこうと思います。
MS-DOSの時代からPCを使ってコンテストに参加していたみなさんなら(たぶん)ご存知の、東京大学アマチュア無線クラブ(JA1ZLO)が公開している「
zLog」ですが、Windows版の「zLog for Windows」のソースコードがオープンソースとして公開されています(
GitHubのリポジトリ)(※1)。
開発はDelphiでされていると言う事で
@pikさんからTwitterのDMで「白原さん、どうですか?」と問い合わせを頂いたりしていたんですが、7月は体調不良の日が多くなかなかソースを見る時間がありませんでした。
でも、数日前に、あまりにも暑くて眠れなかったので、ついついソースを眺めてしまったら(笑)、どうも日付から考えてDelphi7で開発されたっぽい....それなら保守用の開発環境があるので、とりあえずビルドできるかどうかやってみようと思い立ったわけです。
で、まずはフリーのVCLコンポーネント(※2)をDelphi7にインストールしないといけないわけですが、これらは「VCL.zip」と言う圧縮ファイルにまとめられていて(※3)、解凍した中身を見ても、どのコンポーネント(と言うかファイル)が実際に使われているものかさっぱりわかりません(※4)。
しょうがないので、片っ端からインストールして見ようかなと思ったんですが、VCLコンポーネントのパッケージファイルの中を見てみると、どうもDelphi5時代の物のようで(※5)、ソースコードが無いコンポーネントはインストールしようが無かったりしました。
で、さらにしょうがないので、本体のソースコードをIDEに読み込ませて、エラーメッセージを頼りにコンポーネントのファイルを類推し、とりあえずMainformを開けるようにしました。
なお、ここまでで組み込んだVCLコンポーネントは、下記の通りです。
(1)「THemisphereButton」(フォルダ「hemi」の「HemiBtn.pas」をインストール)
)2)「TOvrEdit」(トップの「OEDIT.pas」をインストール)
仕事部屋にエアコンがなく、この暑さでは死にそうなので、この先の作業はまたいつか(笑)
※1 リポジトリのドキュメントによるとMITライセンスでの公開のようですが、リポジトリのライセンス項目によると「This software is released under the GNU General Public License.」との事です。MacOSXに移植するにはGPLだとちょっとしんどいので、MITライセンスなのかどうかをはっきりしてもらえるといいんですが^^;
※2 当時のDelphiの開発では、フリーのVCLコンポーネントを利用する事が多かったのです。zLogもそうなっていました。
※3 たぶん、コンポーネントがまとめてあったフォルダを、そのまま圧縮しただけのものだと思われます。
※4 ちなみに開発時のドキュメントは(当時存在していたとしても)一切公開されていません。
※5 コンポーネントが「dclusr30.dpk」を要求しているのでDelphi5用とわかります。