HAMLOG プログラム開発室


新着表示
タイトル
記事No
投稿日
投稿者
参照先
ファイル・オープン時に Hamlog.hdb のパスを変数にする方法
877
2020/02/20(Thu) 12:37:30
JA2BQX 太田

JTDX の 64Bit 版のビルドをしています。
Hamlo50.DLL が 64Bit 版では使えないので Hamlog.hdb をバイナリーで読み書きしようとしています。

ファイル・オープン時に Hamlog.hdb のパスを変数にする方法を教えて下さい。

logqso.h に QString m_HamlogHdb_path; を記載。

現在は「参照」ボタンにより JTDX.ini にパスを変更、保存は出来ています。
logqso.ui に m_HamlogHdb_path が表示される事は確認済。

logqso.cpp にて JTDX.ini より Hamlog.hdb のパスを取り込み。
JTDX.ini には HamlogHdbDir=C:/HAMLOG/Hamlog.hdb と保存されている。



パスを固定にしてなら動作していますが、m_HamlogHdb_path にするとビルド・エラーが出ます。

FILE *fp;
char *fname = "C:\\Hamlog\\Hamlog.hdb";
fp = fopen( fname, "rb" );

...以下省略...
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: 64Bit版にて Hamlog50.dll オープンエラー
876
2020/01/31(Fri) 06:51:33
JA2BQX 太田
こんにちは。
浜田さん、ありがとうございます。

> 考えてみると、32ビットのポインタを渡すべきところを、64ビット
> のポインタを渡すことになるので、無理なような気がします。
>
> アドレス空間が根本的に違うので、型キャストしてもだめなような
> 気がします。

以前に WSJT-X が ver 1.9になった時にソースのフォルダ構造が変更になり
Hamlog50.h の読み込みでエラーになった時に
Hamlog50.h と Hamlog50.DLL を使用しないソースを書いてあったのを
探し出して来ました。
このソースを今回の64bit版に組み込みビルド出来る様になりました。
お手数をお掛けしました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: 64Bit版にて Hamlog50.dll オープンエラー
875
2020/01/30(Thu) 20:27:18
JG1MOU浜田
> > 基本的に、Windowsの仕様みたいです。
> > 32ビットでリビルドはできますか?
>
> はい、64Bit のPCで 32ビット版のリビルドは出来てHPに公開しています。
> 同じソースを64Bit版のビルド環境ではエラーになっています。

考えてみると、32ビットのポインタを渡すべきところを、64ビット
のポインタを渡すことになるので、無理なような気がします。

アドレス空間が根本的に違うので、型キャストしてもだめなような
気がします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: 64Bit版にて Hamlog50.dll オープンエラー
874
2020/01/27(Mon) 21:28:19
JA2BQX 太田
浜田さん、こんばんは。ありがとうございます。

> 基本的に、Windowsの仕様みたいです。
> 32ビットでリビルドはできますか?

はい、64Bit のPCで 32ビット版のリビルドは出来てHPに公開しています。
同じソースを64Bit版のビルド環境ではエラーになっています。

ご紹介して頂いたページは後程、見させて頂きます。

Hamlo50.DLL を使わないで直接 Hamlog.hdb に追記するコードをC++で書くのは大変なので。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: 64Bit版にて Hamlog50.dll オープンエラー
873
2020/01/27(Mon) 21:17:34
JG1MOU浜田
> Hamlog50.dll は JTDXのソース・フォルダの中と jtdx.exe のあるフォルダの中にも置いてあります。
> Hamlog50.dll は64Bit版のビルドには使用出来ないのでしょうか?

基本的に、Windowsの仕様みたいです。
32ビットでリビルドはできますか?

https://social.msdn.microsoft.com/Forums/ja-JP/e7ed299e-7e94-4fba-ab7a-69ebb65c419a/64bit-29872226591239112398-32bit-12450125031252212391-loadlibrary?forum=vcgeneralja


https://blog.techlab-xe.net/64bit%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8B%E3%82%8932bit%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%B8dll%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3/
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
64Bit版にて Hamlog50.dll オープンエラー
872
2020/01/27(Mon) 08:51:10
JA2BQX 太田

こんにちは。お世話になっております。
JTDXの64Bit版が公開されました。苦労はしましたがどうにか64Bit版のビルド環境を構築出来ました。
ビルドも出来ました。

JTDXのソースを修正して Hamlog にQSOデータを直接転送する事を既にJTDXの32Bit版では完成しています。
このソースを64Bit版でビルドしています。ビルドは成功しますが
jtdx.exe を起動して [ Log QSO ] ウインドウのOKボタンをクリックするとソースの下記の部分のエラーが表示されます。

HINSTANCE hInstDll = LoadLibraryA("Hamlog50.dll");
if (hInstDll == NULL)
{ QMessageBox::critical(0, "Critical", "Can not open Hamlog50.dll");
// error!
} else

{
Hamlog50.dll は JTDXのソース・フォルダの中と jtdx.exe のあるフォルダの中にも置いてあります。
Hamlog50.dll は64Bit版のビルドには使用出来ないのでしょうか?
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: HAMLOG連携のQSLmakerはありますか?
871
2020/01/25(Sat) 17:31:26
JA2BQX 太田

こんばんは。

> 電子QSLを検索すると昔HAMLOG連携のQSLmakerなるソフトがあって、それでQSLカードが作れて、Eメールで送付している人がいるそうなのですが、入手先等の情報をお持ちの方はいませんか?

Web検索すると「有料ソフト」としての記事がありますね。

もう1件は

http://hamlog.no.coocan.jp/mou/index.html

上記の「HAMLOG最新版」にリンクの中ほど位に。


------------ 引用開始 -------------------
Ver5.07 2007/01/17
・電子QSLサムネイルで修正ボタンをクリックすると、QSLmaker(by JE6LAO)が
 起動するようにしました。QSLmakerが存在しなければ、他の画像閲覧ソフトが
 起動します。
------------ 引用終了 -------------------


まずはWeb検索をして探して見ると良いですよ。
投稿者の「お名前」もお願いします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

HAMLOG連携のQSLmakerはありますか?
870
2020/01/24(Fri) 02:24:05
JF2QNM
電子QSLを検索すると昔HAMLOG連携のQSLmakerなるソフトがあって、それでQSLカードが作れて、Eメールで送付している人がいるそうなのですが、入手先等の情報をお持ちの方はいませんか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: VisualBasicでWSJT-X UDP受信
869
2020/01/07(Tue) 16:31:27
JA1RNR 吉田 康太郎
JA2BQX 太田さん、こんにちは。

当方も今回作成したWSJT-X UDPデータ受信処理プログラムが実行中に突然落ちてしまう現象が発生します。(Windows画面からこの実行プログラムが突然消えます)
このとき、VisualBasicシステム側からは何らのエラー通知は無く不可解な現象です。

定期的に発生することは無く追跡も難しいので放置したままで使用しています。

今回作成したプログラムは「http://dobon.net/vb/dotnet/internet/udpclient.html
に紹介されている「非同期的に送受信を行う」の受信部分をベースにしたものです。


PS
この問題は解決しました。現在のところ安定して作動しています。

WSJT-Xの「Erase」ボタンをダブルクリックすると、データ種別3の「Clear」が送信されることがわかりました。本プログラムではこの部分の処理が不適切で異常終了していました。

Clear時の受信データ(16進)
0:AD 1:BC 2:CB 3:DA 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:03 12:00 13:00 14:00 15:06 16:57 18:4A 19:54 20:2D 21:58

本プログラムの機能:

1.QSOログを HAMLOG.hdb へ書き込む。
2.CQ局のコールサインを仕分けしてリストする。
このとき「Delta frequency」と「snr」も表示する。

仕分けは、

未交信局
現在のモード・バンドで交信済みの局
現在のモードで未交信の局
現在のバンドで未交信の局

別にリストする。

3.上記リストのコールサインをクリックすると、その局との交信ログを表示する。


JA1RNR 吉田 康太郎
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: VisualBasicでWSJT-X UDP受信
868
2020/01/07(Tue) 09:48:50
JA2BQX 太田
JA1RNR 吉田さん、こんにちは。
こちらこそ本年もよろしくお願いいたします。

諸々とおやりになっている様でFBです。

私の方は山シャックを自宅からのリモート運用でサーバーPCの
RS-BA1 + IC-7410 + JTDXの組み合わせでのJTDXからの
UDPのバンドデータをANT切り替えのバンドの選択用のPCに取り込んでいるのですが
EXEが自動終了してしまい目下調査中です.....。
UDPの取得ミスでの自動終了コードはコメントにしてはあるのですが。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop