HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

こんにちは。
Win7 64bit + Visual Studio 2019 環境で C++ Windows デスクトップ アプリを作成中です。
HAMLOG が起動している状態で自作アプリから HAMLOG.hdb を読込もうとしています。
[設定2]-[QSOデータの共有オープン]のチェックはオフ、
HAMLOGW.EXE 5.35 (2021/12/26)、HAMLOG50.DLL (Dec 26 2021)です。

0. HAMLOG のメイン窓のみ表示した状態。データ件数は 2 件。
1. Hamlog50.dll を LoadLibrary して、GetProcAddress で利用する関数を準備。
 →GetThdllVersion() で DLL が読みこめていることを確認済み。
2. FindWindow で HAMLOG 本体の HWND を取得。
 →SetWindowText() でウィンドゥ タイトルの書き換えを確認済み。
3. WM_COPYDATA で dwData=27、cbData=0、lpData=0 を送信。
4. DLL 関数の dbf_open で HAMLOG.hdb を指定。
 →戻り値は SUCCESS、TDBFh.rcount は 2 である。
 →試しに手順 3. を省くとエラーになるので、手順 3. は動作しているっぽい
5. (ここで色々処理予定だが今は何もしていない)
6. DLL 関数の dbf_close を実行。
7. WM_COPYDATA で dwData=28、cbData=0、lpData=0 を送信。
 →データの表示修正ウィンドゥを表示しているとそのHWNDを返してくる

上のような処理順で試していますが、手順 7. の後で HAMLOG の動作がよくわらない状態になります。
a. HAMLOG は変化がないように見えますが、各レコードの各カラムをクリックすると空欄になる
b. レコードをダブルクリックすると「No.21 データ読み込みエラー (〜〜\HAMLOG.hdb)」

WM_WM_COPYDATA や各種関数の呼び出し前に何か必要な手順が抜けていたりするのでしょうか?
どうぞよろしくお願いいたします。

2021/12/31(Fri) 23:29:48  [No.979]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー