2016/12/25

VB De FilMtn 0.69リリース

前回のブログエントリの予告通り、VB De FilMtnの最新版をリリースしました。
なんか、添付のEzExt.DLLの動きがおかしかったですね。ごめんなさい、このバージョンはきっと正しく動作するはずです。

さて、年末って忙しいですね。
先ほど年賀状を印刷し終わりました。これからポストへ投函です。
年賀状の準備はずっと前からできていたんですけどね。我が家の画伯(息子)に、今年の年賀状のデザイン画を発注しまして。
何故、今まで放置していたかというと、ただの思い付きが悪かっただけなんですよ。
やり始めると数時間で終わるのですけど...。

本日から、消防団の夜警が始まります。24時まで詰所で待機です。待機中に事件が起こらないことを願いながら、詰所で待機しています。

2016/12/24

偽UnZip32.DLLをリリース

前回の投稿の通り、偽UnZip32.DLLをリリースしました。
現状に困ってない人は、このリリースのDLLに入れ替える必要はないと思います。
これから、インストールしてみようと思った奇特な方は、最新のものをどうぞ。

ドキュメントの修正をしていて、履歴を見ると、前回のリリースからかなり時間が経っていることに気が付きました。その間、何をしていたのでしょうね。俺は。(^^ゞ
転職はしていないのですが、職場が5回変わったかな。いわゆる常駐先と言われる作業場。
どこも前任者がプロジェクトを抜ける事情があって、そこに代打や代走のように急きょあてがわれる要員として。
あてにされるというのは、やはり嬉しいのですが、あてにし過ぎです。ほかに要員は居ないのかと!
最初は、物凄く働く時間だけが長くて、会議が深夜だったりで生活リズムがバラバラで、とても趣味のプログラミングというような状態ではなかった。
その職場が激務のせいだと思うのだけど、そのあと十二指腸潰瘍で入院しましたもの。
その次は、自社で開発をしていたのですが、これは割と楽しかった。まぁ、さっきも話しましたが、入院はしたのですが。
そして、最もつらかった次の職場、通勤がマイカーで片道22km。
ニュービートルだと、1か月に2回の給油ですよ。通勤なので混雑するので運転はストレス以外の何物でもありませんでした。
仕事自体は、難しくなくて楽だったのですけど、通勤時間と通勤そのものがつらかった。
今も、それくらい通勤に時間とコストをかけている方、大変ですね、同情します。(^_^;)
で、そこが終わって、そろそろ自社の若い衆を鍛えてくれ!とか言われて、自社に戻ったものの、某所の要員が退職することになったので、帰社1か月で急遽代役として某所に。それが今の常駐先ですが、去年の12月中からなので、ちょうど1年が過ぎたところです。
最初に書いた、時間がやたらと拘束される職場と同じ会社なのですが、部署が違うだけでこんなに楽とは!
特に、通勤が楽。自宅の最寄りのJR駅から職場最寄りのJR駅で、ほとんどドア・ツゥー・ドア。片道2000歩以内。毎日ほぼ定時。
そりゃ、趣味のプログラミングでも復活させようか!って気持ちにもなるはずです。
やたらと、通勤距離が長かった職場のころに比べると、今は休みの日のお買い物に車を使うくらいなので、1か月に3000円くらいガソリンを入れる(満タン入れない)で充分ですからね。ガソリン代が高いとか安い以前の問題です。(^_^;)

さて、次のリリースは、VB De FilMtnです。
実はもう準備していますが、そろそろ寝るので。(^^ゞ

2016/12/14

Info-Zip製 UnZip32.DLLをbzip2対応でビルドする

Info-Zip製 UnZip32.DLLの最新のバージョンは、6.10bのようです。
ドキュメントを眺めてみると、deflate64メソッド以外にも、bzip2メソッドの展開のサポートも追加されているようです。
6.10bはβ版で、しばらくすると正式版をリリースするぜ!(意訳)
とありますが、正式バージョンはもう何年もリリースされていません。
前回のブログのエントリで、偽UnZip32.DLLもバージョンアップするよ。って書いてしまったので、Info-Zip製 UnZip32.DLLが手元でビルドできるかを確認してみました。
というのは、
偽UnZip32.DLL = Info-Zip製 UnZip32.DLL + 独自ソース
なので、Info-Zip製のUnZip32.DLLが無いとお話が始まらないからです。

用意するもの

Microsoft Visual Studio Community 2015 Update 3

フリーソフトプログラマには、必須の開発ツールですよね。

Info-Zip製 UnZipのソース

ここあたりから、unzip610b.zipをダウンロードします。

bzip2のソース

ここから、bzip2-1.0.6.tar.gzをダウンロードします。

ビルド環境の構築方法

  1. Microsoft Visual Studio Community 2015 Update 3をインストールする。
  2. unzip610b.zipを作業ディレクトリに展開する。
  3. bzip2-1.0.6.tar.gzを作業ディレクトリに展開する。
  4. 3.を展開して得られたソース一式を、2.で展開したunzipのソース配下のbzip2配下にコピーする。
  5. unzip610b\windll\vc8\unzip32.sln をVisual Studio Community 2015で読み込ませる。vc8用のプロジェクトなので、プロジェクトのアップデートを行う。
  6. ソリューション エクスプローラから、プロジェクト「c_dll_ex」と「unz32dll」以外を削除する。(今回は不要だから)
  7. スタートアップ プロジェクトは「c_dll_ex」に設定する。
  8. ソリューションにunzip610b\win32\vc8\bz2lib.vcproj プロジェクトをソリューションに追加する。変換されてソリューションに追加される。
  9. global.h内の「# include "bzlib.h"」を「# include "bzip2/bzlib.h」に修正する。
  10. ソリューションのプロパティ>共通プロパティ>プロジェクトの依存関係 のプロジェクト「unz32dll」の依存先をbz2libにする。
  11. unz32dll プロパティ>構成プロパティ>C/C++>プリプロセッサ>プリプロセッサの定義に「USE_BZIP2」を追加する。
  12. unz32dll プロパティ>構成プロパティ>リンカー>入力 の追加の依存ファイルに、「bz2lib」でビルドされるbzip2.libをフルパスで追加する。(マクロを使うと簡単に表記できるかもね。)
  13. ソリューションのリビルドを行い、ビルドをする。
うまくビルドできれば、unzip610b\windll\vc8\Debug\appに、unzip32.dllとそのdllを使うテストプログラムであるuzexampl.exeがあるはずです。
ワーニングがチョットばかし出ますが、致命的ではないので気にしない気にしない。(^_^;)
bzip2メソッドでzipしたファイルを同ディレクトリにコピーします。
コマンドプロンプトで、同ディレクトリにカレントディレクトリに移動して、
uzexampl.exe bzip_method.zip
みたいにすると、展開できるようにビルドできたことが確認できます。
コマンドプロンプトで、そのディレクトリに移動して、

2016/12/12

偽Zip32J.DLL新バージョンリリース

偽Zip32J.DLL Version 0.37.0.10(10)をへろぱ的サイトにてリリースしました。
前のバージョンから新しい機能はありません。
この通り、サイトを移動したので添付のドキュメントを修正したのと、Visual Studio 2015 C/C++でリビルドしなおしただけです。
いやぁ、前のバージョンから6年以上経っていますよ。今回、6年ぶりくらいに自分の書いたソースを見直したのですが、...中々ですね!(^^ゞ
というか、今書くとしてもきっと同じコードになるはず。
進歩がないというか...。
自分の書いたコードなのに、ちょっと感心したのが、丁寧さと規模。今、これだけの規模のコードを一から書けるのか?今は、読書がメインの趣味になっているので、プライベートでこんなにコードに向かい合えるのか?
そんなことも思いました。

偽UnZip32.DLLも近日中にアップデートする予定です。