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

こんばんは、長野です。

Hamlog起動時は期待通りにデータが転送できていて、Hamlog未起動時に動作しないのなら、Hamlogの起動に問題があるのではないでしょうか。
文面からはどのような症状なのかよくわかりません。

Hamlog未起動時は、
1.HamlogOpenで起動。
2.SetThBufferでデータ転送

という手順なのでしょうか?
まず切り分けましょう。
2.SetThBufferをコメントアウトしたとき、Hamlogは正常に起動しますか。また、データ入力画面も開いていますか?

次に
sd := HamlogOpen(nil, Th, 'C:\Hamlog\Hamlog.hdb', 0);

で、sdにSUCCESSが戻ってきていますか。この判定が無いようですが大丈夫ですか。

正常に起動しているのであれば、
1.起動してからSetThBufferで書き込むまでに、waitは必要ないのでしょうか。Hamlogが完全に起動してからSetThBufferで転送していますか?


症状がよくわからないので、思いつくまま書きました。
的を射ていないようでしたらごめんなさい。



> こんにちは。
> 下記についてご指導頂けると幸いです。
>
> lazarus-1.6.4 , Pascal にて JT65-HF-HB9HQX-Edition 4.6.9 のソースに追加して
> Hamlog へのQSOデータを直接登録(転送)しようとしています。
>
> Hamlog を起動しておいてデータ入力欄への転送は出来ました。
> Hamlog が起動していない状態での転送でエラーが出て躓いています。
> Pascal は初めてですのであちらこちらを調べながらですが
> SetThBuffer() の設定に間違いがあるでしょうか?
>
> Hamlog50.pas には THDLL2VB.DLL 関係の記載は無いです。
> THW2VBNET.dll を Pascal で使う THW2VBNET.pas も欲しいです。
>
>
> コーデイングの抜粋
> procedure SetThBuffer(var Th: TThLog; const s: PChar; const n: Integer);
> StdCall;
>
> //implementation
> const
> HamlogDllNameVB = 'Thdll2Vb.dll';
> procedure SetThBuffer;
>
>
> external HamlogDllNameVB;
>
> sd := HamlogOpen(nil, Th, 'C:\Hamlog\Hamlog.hdb', 0);
>
> //1ケでもデバッガーエラーが出る。
> //「GDB にコマンドが送れません」が出る。
>
> SetThBuffer(th,'JA2BQX',1);
>
> (改行位置が乱れて醜いですが....)

2017/08/01(Tue) 22:07:28  [No.790]


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