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

Th527api 投稿者:JA2BQX 太田  《URL》

何時もお世話になります。
64BitパソコンでJTDXより Hamlog に直接QSOデータを転送しようとしています。
64Bitでは Hamlog50.DLL が使えないとの事なので Th527api の中の HamlogMs.txt の利用を考えています。

#define THW_ENTER 0x10000 等は lohqso.h に記載しました。

 
//Th527api
//HamlogMs.txt

//Hamlogw.exe は起動させておく。

/************ C言語での例 ****** 実験してない *********/ との事ですが丸写しで下記のコードを logqso.cpp に記載。

void LogQSO::append_Hamlog_hdb_new()

{ //文字列を Hamlog に送る。
int cmmd;
HWND Hwnd1, Hwnd2;
COPYDATASTRUCT cds;
char buffs[256];
Hwnd1 = FindWindow("TThwin", NULL);
if (Hwnd1 < 1)
//
ハムログが起動していない
return;
cmmd = 1;
//
コールサインを指定
cmmd |= THW_FOCUS;
cmmd |= THW_ENTER;
cds.dwData = cmmd;
strcpy(buffs, "JG1MOU"); // コールサイン文字列
cds.cbData = strlen(buffs) + 1; // 文字列の長さ(ヌル文字分を+1)
cds.lpData = &buffs[0]; // 文字列のポインタ
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA,
(WPARAM)Form1->Handle, (LPARAM)&cds);
if (Hwnd2 > 0)
SetForegroundWindow(Hwnd2); // 入力ウインドウにフォーカス}




Qt を使っています。
ビルドすると下記の様なエラーが出ます。
解決策のヒントでも良いので是非お願いします。


C:\JTSDK64-Tools\tmp\wsjtx\logqso.cpp: In member function 'void LogQSO::append_Hamlog_hdb_new()':
C:\JTSDK64-Tools\tmp\wsjtx\logqso.cpp:363:17: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
if (Hwnd1 < 1) // ハムログが起動していない
^
C:\JTSDK64-Tools\tmp\wsjtx\logqso.cpp:373:26: error: 'Form1' was not declared in this scope
(WPARAM)Form1->Handle, (LPARAM)&cds);
^~~~~
C:\JTSDK64-Tools\tmp\wsjtx\logqso.cpp:373:26: note: suggested alternative: 'frm1'
(WPARAM)Form1->Handle, (LPARAM)&cds);

2020/03/20(Fri) 11:26:20  [No.883]


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