一括表示

ハムログにデーターが転送できない 投稿者:  

VS2010のC++を使ってDSCWソフトを制作していますが、ハムログの入力画面ににデーターが転送できない場合があるのでお教え下さい。
送れないときの状態ですが、ハムログのCODE枠にJCC番号を2506を送ったとして、下向き矢印を押すとコード入力画面が表示されます。
この状態で、cmmd1〜14までを使ってデーターを送ってもうまく転送できません。このコード入力画面を消せば、普通にデーターは転送されます。
ただし、入力コード画面が出ていても、cmmd101〜114でデーターをDSCW側に読み取ることは何故か出来ています。
ちなみに、道の駅のソフトから[Hamlogに送る(T)]を押せば、このコード入力画面が表示されていてもデーターは問題なくハムログの入力画面に送られています。
cmmdに0x10000とか0x20000を入れてみてもダメでした。 よろしくお願いいたします。

2012/11/08(Thu) 12:59:32  [No.324]


こんばんは。

> 送れないときの状態ですが、ハムログのCODE枠にJCC番号を2506を送ったとして、下向き矢印を押すとコード入力画面が表示されます。
> この状態で、cmmd1〜14までを使ってデーターを送ってもうまく転送できません。このコード入力画面を消せば、普通にデーターは転送されます。

Code選択ウインドウが表示されている間は
入力ウインドウがアクテイブになっていないからではないでしょうか?

ソフト側の処理手順としてはどうなっているのでしょうか?
コールサイン、code 2506を送り込み( cmmd = 8 )、手動で下向矢印を押している? またはソフトで下向矢印を押している?

それとも cmmd = 19 で??

HamlogMs.txt の下記の記述はどうですか?
入力ウインドウをアクテイブにしておけば転送出来るかも。

ーーーーーー 引用開始 ーーーーーーーーーーーーーーーーー
 19 = 入力ウインドウのCode欄で↓キーを押したのと同じ。(Ver4.52dから)
    アプリケーション側では、SendMessage()の前にSetForegroundWindow()で
    ハムログを前面にしておいたほうが良いかもしれない。
ーーーーーーー 引用終わり ーーーーーーーーーーーーーー

下向矢印を押してCode選択ウインドウを表示させている理由はなんでしょうか?
ソフト側でCodeを決められないのでユーザーに選択させるのでしょうか。

2012/11/08(Thu) 21:21:38  [No.325]


Re: ハムログにデーターが転送できない 投稿者:  

> こんばんは。
> Code選択ウインドウが表示されている間は
> 入力ウインドウがアクテイブになっていないからではないでしょうか?
>
> ソフト側の処理手順としてはどうなっているのでしょうか?
> コールサイン、code 2506を送り込み( cmmd = 8 )、手動で下向矢印を押している? またはソフトで下向矢印を押している?
>
> それとも cmmd = 19 で??
> 下向矢印を押してCode選択ウインドウを表示させている理由はなんでしょうか?
> ソフト側でCodeを決められないのでユーザーに選択させるのでしょうか。
太田さん
下向き矢印はハムログ入力画面のCODE枠にマウスでカーソルを移したうえで、キーボードの下向き矢印を押しています。
この状態でも、道の駅の画面からなら、Hamlogに転送をクリックするとハムログ入力画面に正常に送れます。
何か、一工夫が必要らしいです。
なお下向き矢印を押す目的は、移動局が今どこから出ているのか知りたいからです。
下向き矢印をcmmd19で押せそうですね。これから試してみます。
TNX FOR NICE ADVICE

2012/11/08(Thu) 22:13:42  [No.326]


Re: ハムログにデーターが転送できない 投稿者:  

> 下向き矢印をcmmd19で押せそうですね。これから試してみます。
テストしてみたところ、自動的にコード入力画面が出るのですが、ENTERを押して確定するか、Xでコード入力画面を消すまでDSCWの画面上をクリックしても、ハムログをクリックしても一切の動作が受け付けてもらえません。したがって、別のJCCを打ち込むことができないので、これでは、却って具合が悪いです。
cmmd = 19;
cmmd |= 0x10000;
cmmd |= 0x20000;
も試しましたが、だめでした。

なお、入力ウィンドウにフォーカスを移していますが、移していなくても、同様にダメでした。

2012/11/08(Thu) 22:43:15  [No.327]


おはようございます。
お役に立てなかったようで失礼しました。

直接的な解決法では無いですが、
「下向き矢印を押す目的は、移動局が今どこから出ているのか知りたいからです」と言うことと
表示させると転送出来ないと言うことなら
自前ソフトでCode一覧(下向き矢印を押して出るウインドウの内容)を表示させたら如何でしょうか?
Hamlog.mstファイルをその都度、読み込み表示とか、予めファイルにして、または配列に読み込んでおいてとか....。

2012/11/09(Fri) 06:40:18  [No.328]


Re: ハムログにデーターが転送できない 投稿者:  

> > 自前ソフトでCode一覧(下向き矢印を押して出るウインドウの内容)を表示させたら如何でしょうか?
>
DSCW側でCODE一覧を用意すれば、解決ですね。有難うございました。

しかし、道の駅からは転送されるので、何か方法がありそうなのですがね。 cmmd15なら出来るのかも、、、

2012/11/09(Fri) 08:33:10  [No.329]


> しかし、道の駅からは転送されるので、何か方法がありそうなのですがね。 cmmd15なら出来るのかも、、、

道の駅Get'sのソースを見たら、

cds.dwData = 15 | (0x400000 | 0x20000);

でした。

2012/11/09(Fri) 19:56:32  [No.332]


Re: ハムログにデーターが転送できない 投稿者:  

> 道の駅Get'sのソースを見たら、
>
> cds.dwData = 15 | (0x400000 | 0x20000);
>
> でした。
浜田さん いつもありがとうございます。 水本さんからも同様のアドバイスを頂きました。
プログラムの大幅な変更になりそうなので、後日、結果報告いたします。

2012/11/09(Fri) 21:34:57  [No.333]


> VS2010のC++を使ってDSCWソフトを制作していますが、ハムログの入力画面ににデーターが転送できない場合があるのでお教え下さい。
> 送れないときの状態ですが、ハムログのCODE枠にJCC番号を2506を送ったとして、下向き矢印を押すとコード入力画面が表示されます。
> この状態で、cmmd1〜14までを使ってデーターを送ってもうまく転送できません。このコード入力画面を消せば、普通にデーターは転送されます。
> ただし、入力コード画面が出ていても、cmmd101〜114でデーターをDSCW側に読み取ることは何故か出来ています。
> ちなみに、道の駅のソフトから[Hamlogに送る(T)]を押せば、このコード入力画面が表示されていてもデーターは問題なくハムログの入力画面に送られています。
> cmmdに0x10000とか0x20000を入れてみてもダメでした。 よろしくお願いいたします。

$define THW_SHUUSEI_WIN 0x200000
のようです

HamlogMs.txtを読むと
THW_SHUUSEI_WIN = $200000; // 修正ウインドウだった場合、確認を表示(v5.09a)
CODE入力部のダイアログがモーダルで開いているので、これなのかと

2012/11/09(Fri) 13:28:49  [No.330]


Re: ハムログにデーターが転送できない 投稿者:  

> HamlogMs.txtを読むと
> THW_SHUUSEI_WIN = $200000; // 修正ウインドウだった場合、確認を表示(v5.09a)
> CODE入力部のダイアログがモーダルで開いているので、これなのかと
水本さん
cmmd1〜14で個々にデーターを送るとき、コード入力画面が表示されていても
cmmd |= 0x20000;でもcmmd |= 0x400000でもあるいは両方を書いてもうまく転送できました。 これなら、今のプログラムに1行加えるだけなので助かります。 なお、コード入力画面が表示されていない状態でcmmd |= 200000とか400000を書いていても、問題なく転送できました。
以上で、解決です。。。有難うございました。
浜田さんも有難うございました。

2012/11/10(Sat) 09:31:38  [No.334]


Re: ハムログにデーターが転送できない 投稿者:  

> cmmd |= 0x20000;でもcmmd |= 0x400000でもあるいは両方を書いてもうまく転送できました。
上記のcmmd |= 0x20000は書き間違いでした。 正しくは0x200000でした。

2012/11/10(Sat) 11:21:53  [No.335]


Re: ハムログにデーターが転送できない 投稿者:  

その後の、追伸です。。。。
入力コード選択画面とか、DXエンティティの選択画面が表示されていても、DSCW側からハムログ入力画面にデーターを送れるようにプログラム出来たので、やれ嬉しと思ったのですが、次にcmmd16(Clear)または 18(Save)を送るとプログラムが固まってしまいました。
これら小窓が開いているときには、HAMLOGであってもSAVEとCLEARボタンを押しても反応しないので当然ですよね。
そんなことで、基本に却って、選択小窓が開いているときは、ポップアップ画面で注意喚起するように変更しました。
皆さん、色々と、アドバイス有難うございました。

2012/11/12(Mon) 13:05:28  [No.336]