HAMLOG プログラム開発室


一括表示
タイトル
記事No
投稿日
投稿者
参照先
C++ JTDX
837
2018/02/01(Thu) 10:49:27
JA2BQX 太田

こんにちは。教えて下さい。

JTSDK で JTDX のソースのビルドにトライしています。

logqso.h に Th527api の HAMLOG50.H を追記してのビルドはOKです。

logqso.cpp に
Hamlog が起動していない時にQSOデータを THW_append() にて追加したいのですが
最初の HamlogOpen(0, TThLog, *p, 0) でエラーが出ます。
C:\Hamlog\Hamlog.hdb をポインタでセットする必要があると思いますが
この辺りからのサンプルコードをお願い出来ますか?

その後はHamlog が起動している時の事もやりたいですが。
 
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: C++ JTDX
838
2018/02/02(Fri) 20:50:39
JG1MOU浜田
> logqso.cpp に
> Hamlog が起動していない時にQSOデータを THW_append() にて追加したいのですが
> 最初の HamlogOpen(0, TThLog, *p, 0) でエラーが出ます。
> C:\Hamlog\Hamlog.hdb をポインタでセットする必要があると思いますが
> この辺りからのサンプルコードをお願い出来ますか?

エラーとは、コンパイルエラーでしょうか? 実行時エラーでしょうか?
こんな感じですけど。C++ではなく、Cですが。

TThLog log; // スコープ外で宣言し、グローバル変数としておく
char *pfName = "C:\\Hamlog\\Hamlog.hdb";
if (HamlogOpen(NULL, &log, pfName, 0)==SUCCESS)
  オッケー!;
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: C++ JTDX
839
2018/02/03(Sat) 10:21:08
JA2BQX 太田

浜田さん、お手数をお掛けします。 ありがとうございます。

> エラーとは、コンパイルエラーでしょうか? 実行時エラーでしょうか?

コンパイル時です。

> TThLog log; // スコープ外で宣言し、グローバル変数としておく

今、これを追記しているのですが記載場所が悪い様で赤のアンダーラインが引かれてしまいます。

ソースは下記のリンクの src18.1.0.69.zip で
この中の logqso.h の中に Th527api の中の HAMLOG50.H を追記。
logqso.cpp の中で HamlogOpen() を使おうとしています。

void LogQSO::AppendtoHDB_sub()

{ TThLog log;

char *pfName = "C:\Hamlog\Hamlog.hdb";
if (HamlogOpen(NULL, &log, pfName, 0)==SUCCESS)

{
この様にしてビルドしてみましたが画像の様にワーニングで落ちてしまいました。

https://www.release.jtdx.tech/Windows/Windows%20Source/

ビルドは JTDX や WSJT-X なので JTSDK をインストールしています。
ソースは QtCreator で編集しています。
pagetop
タイトル
記事No
投稿日
投稿者

Re: C++ JTDX
840
2018/02/03(Sat) 18:09:22
JG1MOU浜田
> > TThLog log; // スコープ外で宣言し、グローバル変数としておく
>
> 今、これを追記しているのですが記載場所が悪い様で赤のアンダーラインが引かれてしまいます。

ハムログでは、ClassのPublic宣言部分で宣言してます。
要するにグローバル変数です。

> char *pfName = "C:\Hamlog\Hamlog.hdb";

円マークは二つ続けて書かないとエスケープコードとみなされますけど。
C言語の基礎中の基礎で、C++も同じはずです。
char *pfName = "C:\\Hamlog\\Hamlog.hdb";
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: C++ JTDX
841
2018/02/03(Sat) 19:56:06
JA2BQX 太田

浜田さん、お手数をお掛けします。

> > > TThLog log; // スコープ外で宣言し、グローバル変数としてお> ハムログでは、ClassのPublic宣言部分で宣言してます。
> 要するにグローバル変数です。

色々な場所で宣言してみましたが、どうも赤線が出てしまうので。
明日は裾野市で「ハムの祭典」があるので月曜日に再度試します。

> > char *pfName = "C:\Hamlog\Hamlog.hdb";
> 円マークは二つ続けて書かないとエスケープコードとみなされますけど。
> C言語の基礎中の基礎で、C++も同じはずです。

英語モードで無いとビルドがエラーになるので \ マークでは無くて
逆スラッシュになりますが 2ケ並べてもエラーが出たような。

当分、ここで躓いて長引きそうです。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop