新着表示
タイトル
記事No
投稿日
投稿者
: Re: ファイル・オープン時に Hamlog.hdb のパスを変数にする方法
: 880
: 2020/02/21(Fri) 21:53:47
: JG1MOU浜田
> lstrcpy(fname, m_hamlogPath); で良いのかな? 明日朝、試してみます。
Win32-APIなので、
LPTSTR lstrcpy(lpszString1, lpszString2);
・・・というプロトタイプなんですが、使えるかどうかわかりません。
HAMLOGでは、ファイル操作はCの標準関数ではなくWin32-APIを使っています。
ファイルを開く、ファイルを作成では、CreateFile();
バイナリ、テキストの読み込みは、ReadFile();
同じく書き込みは、WriteFile();
閉じるのは、CloseHandle();
標準関数の fopen();も、Windows上で使う限りライブラリ内部ではCreateFile();を呼び出しているんですよね。
ちなみに、DOS版HAMLOGでも、標準ライブラリは使わず、
_asm mov ax,3d02h
_asm int 21h
・・・って感じでファンクションコールでした。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: ファイル・オープン時に Hamlog.hdb のパスを変数にする方法
: 879
: 2020/02/21(Fri) 21:19:54
: JA2BQX 太田
浜田さん、ありがとうございます。
> すみません。QString って、どんな型なのか知りません。
Qt なので QString 、String 型です。
> FILE *fp;
> char fname[MAX_PATH];
> lstrcpy(fname, "C:\\Hamlog\\Hamlog.hdb"); <== ここに変数を使いたいのです。
> fp = fopen( fname, "rb" );
lstrcpy(fname, m_hamlogPath); で良いのかな? 明日朝、試してみます。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: ファイル・オープン時に Hamlog.hdb のパスを変数にする方法
: 878
: 2020/02/21(Fri) 21:13:42
: JG1MOU浜田
> logqso.h に QString m_HamlogHdb_path; を記載。
すみません。QString って、どんな型なのか知りません。
CStringならわかりますけど。
> FILE *fp;
> char *fname = "C:\\Hamlog\\Hamlog.hdb";
> fp = fopen( fname, "rb" );
こちらは昔ながらのC言語ですね。これならわかります。
fname に定数のポインタをコピーしたのでは、パスの内容が変更できませんね。
こんな感じでしょうか。
FILE *fp;
char fname[MAX_PATH];
lstrcpy(fname, "C:\\Hamlog\\Hamlog.hdb");
fp = fopen( fname, "rb" );
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事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" );
...以下省略...
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事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版に組み込みビルド出来る様になりました。
お手数をお掛けしました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: 64Bit版にて Hamlog50.dll オープンエラー
: 875
: 2020/01/30(Thu) 20:27:18
: JG1MOU浜田
> > 基本的に、Windowsの仕様みたいです。
> > 32ビットでリビルドはできますか?
>
> はい、64Bit のPCで 32ビット版のリビルドは出来てHPに公開しています。
> 同じソースを64Bit版のビルド環境ではエラーになっています。
考えてみると、32ビットのポインタを渡すべきところを、64ビット
のポインタを渡すことになるので、無理なような気がします。
アドレス空間が根本的に違うので、型キャストしてもだめなような
気がします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事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++で書くのは大変なので。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: 64Bit版にて Hamlog50.dll オープンエラー
: 873
: 2020/01/27(Mon) 21:17:34
: JG1MOU浜田
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事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版のビルドには使用出来ないのでしょうか?
タイトル
記事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検索をして探して見ると良いですよ。
投稿者の「お名前」もお願いします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!