長野さん、こんにちは。ご無沙汰しています。 回答ありがとうございます。
> Hamlog起動時は期待通りにデータが転送できていて、Hamlog未起動時に動作しないのなら、Hamlogの起動に問題があるのではないでしょうか。
今回は Hamlog未起動の状態で転送したいです。
> Hamlog未起動時は、
> 1.HamlogOpenで起動。
> 2.SetThBufferでデータ転送
> という手順なのでしょうか?
「1.HamlogOpenで起動。」は無い状況での動作です。
> 2.SetThBufferをコメントアウトしたとき、Hamlogは正常に起動しますか。また、データ入力画面も開いていますか?
SetThBufferをコメントアウトしたとき、ソフトからはHamlogは起動させません。
THW_append() にて Hamlog.hdb に直接QSOデータの追加をしたいので。
> sd := HamlogOpen(nil, Th, 'C:\Hamlog\Hamlog.hdb', 0);
>
> で、sdにSUCCESSが戻ってきていますか。この判定が無いようですが大丈夫ですか。
sd は ゼロ が戻ってきています。
Hamlog50.bas には下記の記載があるので大丈夫と思います。
' 各関数が返すエラーナンバー
Public Const SUCCESS = 0 ' 成功
> 正常に起動しているのであれば、
> 1.起動してからSetThBufferで書き込むまでに、waitは必要ないのでしょうか。Hamlogが完全に起動してからSetThBufferで転送していますか?
Hamlog が起動しデータ入力画面も開いている時には HamlogMs.txt に記載のある
cmmd = 15
●コマンドを数値で指定し、Turbo HAMLOG/Winの入力ウインドウに文字列を送る...でやっています。
sd := HamlogOpen(nil, Th, 'C:\Hamlog\Hamlog.hdb', 0); の前に
sc:= SetDbsShare(1); を追加しましたが、やはりSetThBufferでエラーが出ます。