HAMLOG50.DLL

HAMLOG50.DLLは、Turbo HAMLOG/Win用のデータベースエンジンです。
MS-DOS版 Turbo HAMLOGの時代に使用していたデータベースエンジンのソースコード(C言語)を、そのまま32ビット化したものですので、信頼性があります。

16ビットパソコンでサクサクと動いていたものを、そのままPentiumマシンで動かすことになるわけですから、そのデータアクセスの高速性は抜群です。(自画自賛モード hi )

Delphi(デルファイ)で作成したアプリケーションは、通常BDE(ボーランドデータベースエンジン)を使用しますが、配布するファイルサイズが膨大なものになってしまうのと、MS-DOS版Turbo HAMLOGとのデータ互換性のため、Turbo HAMLOG/WinではBDEを使わずに、従来どおり独自のデータベースエンジンをHAMLOG50.DLLとして作成し、使用しています。
なお、HAMLOG50.DLLのAPI仕様については別途公開しておりますので、技術をお持ちの方はこれをご活用いただいて、Turbo HAMLOG用のアワード関連のツールでも作っていただければ幸いです。

HAMLOG50.DLLが表示するエラーメッセージは、メッセージボックスのタイトルに HAMLOG50.DLLと書いてあるのでわかります。

以下は、HAMLOG50.DLLが表示するエラーメッセージについてです。
No2 データファイルの構造が違う
Turbo HAMLOGのデータフォーマットのファイルでない。
単純にファイルの先頭が 03hもしくは 1Ahかどうかを調べています。
1Ahの場合は、コールサイン中の/を含めてデュープチェックをします。

No3 インデックスの構造が違う
Turbo HAMLOGでのインデックス・フォーマットのファイルではない。
通常、強制的にインデックスファイルを作り直しますので、このエラーは表示されません。

No5 ファイルがオープンできない
オープンしようとしたファイルが存在しない。
ファイルの属性が「読み取り専用」(書き込めない属性)になっている。
他のソフトで既にオープンしている。
ファイルのユーザー権限が別人のもののためオープンできない。
データフォルダの指定が不正、など。
CD-ROMからコピーしたファイルは、読み取り専用のままのものが多いのでご注意を!
 ファイルの右クリックメニューで、読み取り専用のチェックを外してください。

No6 メモリーが確保できない
メモリ不足です。今時のパソコンなら、そんなはずはないのですが・・・。
仮想メモリを使う設定になっていることを確認してください。また、ハードディスクの空き容量を確認してください。

No7 インデックス読み込みエラー
インデックスファイルの破壊、又はディスクの不良が考えられます。
通常、強制的にインデックスファイルを作り直しますので、このエラーは表示されません。

No8 インデックス書き込みエラー
ディスクが一杯、インデックスファイルの破壊、又はディスクの不良が考えられます。
書き込もうとしたデータのバイト数と、実際に書き込めたバイト数が一致しない場合にエラーを表示させています。
インデックス再構築を実施すれば、直る可能性があります。

No15 インデックスの再構築が必要
データとインデックスが不整合だった場合。
通常、強制的にインデックスファイルを作り直しますので、このエラーは表示されません。

No21 データ読み込みエラー
データファイルの破壊、又はディスクの不良が考えられます。
読み込もうとしたデータのバイト数と、実際に読み込めたバイト数が一致しない場合にエラーを表示させています。

No22 データ書き込みエラー
ディスクが一杯、データファイルの破壊、又はディスクの不良が考えられます。
書き込もうとしたデータのバイト数と、実際に書き込めたバイト数が一致しない場合にエラーを表示させています。

No27 キー表現式が不正
インデックスを構築しようとするデータファイルの、ヘッダ部分が破壊されている恐れがあります。

No25 作業ファイルが作れない
インデックス構築時日付時間順ソートなどでは、Tempフォルダに作業ファイルを作ります。Tempフォルダは、
 Windows-XPでは、 C:\Documents and Settings\ユーザー名\Local Settings\Temp
 Windows-7では、 C:\Users\ユーザー名\AppData\Local\Temp
Tempフォルダが存在しない、作業ドライブの容量が足らない、又はディスク不良が考えられます。

No30 ユーザーリストの構造が違う
ユーザーリスト(Userlist.usr)以外のファイルを開こうとしている。
古いユーザーリストを開こうとしている。
なんらかのエラー発生
上記以外のエラーが発生しました。恐らくバグ・・・かも。(^_^;)

(88)