HAMLOG プログラム開発室


新着表示
タイトル
記事No
投稿日
投稿者

Re: Hamlogw.dll の共有時アクセスの衝突の件
705
2016/06/03(Fri) 08:12:19
JA9AOB 銅子
> 自作のプログラムでhdbを参照しているときに、時々HAMLOGでインデクス
> ファイルがないとのエラーが出て停止出来なく成ります。
> ・・・ということでしょうか?
その通りです

> 具体的にどんなエラーでしょうか?
> インデックスファイルがない、というエラーですか?
No.5ファイルがオープンできない
(c:Hamlog\Hamlog.dx0)

インデックス構築が出来ません

と出ます。連続で参照中にHamlogデータ入力などを行う時に発生していますので、Hamlogで新データでインデクスファイルを構築するとき、外部からアクセスして、インデクスファイルがないか矛盾があり、外部からのコールでも再構築しようとしてお互いにおかしくなるのだと思います。

>
> > 極端な時ですが、別のプログラムで参照中にデータを削除処理すると同様のエラーが出ます。
>
> 極端な時ですが、自作のプログラムでQSOデータを共有中にHAMLOGでデー
> タを削除処理すると、自作のプログラムで同様のエラーが出ます。
> ・・・ということでしょうか?
その通りです。

>
> HAMLOGでQSOデータを1件以上削除したときは、インデックスファイルを
> 削除してから生成してますので、そうなると思います。

と言う事は、インデックス再構築中は他からのアクセスを待たせる機能は持っていないのですね。
> 共有を使わなければファイルはロックされてますので大丈夫です。
当然ですね。

と言う事で、原因は理解できましたが、困ったな。共有可能と言っても、HDBへのアクセスが衝突した場合の処理はしてないと言う事ですよね。
「インデックス再構築中は他からのアクセスを待たせる機能」自体は、HDB操作開始時にフラグを上げ、終了時にフラグを下げるようにし、HDB操作はこのフラグが下がっているときのみ可能にすれば、対応出来るのでしょうが。これは私の所だけでは対処出来ないし、DLLをいじると、何が起きるか予測もつかないし(待ち時間の問題、デッド・ロックの問題 無いかもしれないが、あったら大変)。別バージョンをお願いしても常に2バージョンあるのも困るし。困ったな。何か良いアイデアありませんか。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlogw.dll の共有時アクセスの衝突の件
704
2016/06/02(Thu) 21:50:03
JG1MOU浜田
> 別のプログラムでhdbを参照しているときに、時々インデクスファイルがないとのエラーが出て停止出来なく成ります。

自作のプログラムでhdbを参照しているときに、時々HAMLOGでインデクス
ファイルがないとのエラーが出て停止出来なく成ります。
・・・ということでしょうか?
具体的にどんなエラーでしょうか?
インデックスファイルがない、というエラーですか?


> 極端な時ですが、別のプログラムで参照中にデータを削除処理すると同様のエラーが出ます。

極端な時ですが、自作のプログラムでQSOデータを共有中にHAMLOGでデー
タを削除処理すると、自作のプログラムで同様のエラーが出ます。
・・・ということでしょうか?

HAMLOGでQSOデータを1件以上削除したときは、インデックスファイルを
削除してから生成してますので、そうなると思います。


> 何か対応方法はないでしょうか。単純には、誰かが使用中は、使えなくする ロック 方式が良いのでしょうが,何か対応策はないでしょうか。

共有を使わなければファイルはロックされてますので大丈夫です。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Hamlogw.dll の共有時アクセスの衝突の件
703
2016/06/01(Wed) 20:10:23
JA9AOB 銅子
 浜田OM 久しぶりの質問です
別のプログラムでhdbを参照しているときに、時々インデクスファイルがないとのエラーが出て停止出来なく成ります。
極端な時ですが、別のプログラムで参照中にデータを削除処理すると同様のエラーが出ます。これは、後者の場合、インデックスを再構成中に別のプログラムがインデクスを使用しようとして、インデクスが無いのでこのエラーになるのだと思われます。前者の例ははっきりは分からないのですが、アクセスが衝突し、インデクスファイルにアクセス出来ず、結果として、このエラーを出していると考えています。何か対応方法はないでしょうか。単純には、誰かが使用中は、使えなくする ロック 方式が良いのでしょうが,何か対応策はないでしょうか。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlog 入力画面データ 取得
701
2016/01/19(Tue) 16:40:02
JA9AOB 銅子
入力WindowのWindow TextにEnterでCallデータが表示されている事を見出しました。この変化で入力WindowのEnter入力を検出することが出来ました。後は、今までの検討と組合すことで、1stQSOを外部で検出可能となり、HamlogのCheke2に自動でチェックが入る様になりました。
アドバイス有難う御座いました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlog 入力画面データ 取得
700
2016/01/18(Mon) 09:09:33
JA9AOB 銅子
>
> 面倒ですがその部分をbmp等の画像として切り出し、OCR機能で
> 文字列を取得し判断するのは如何でしょうか?

> そこで苦肉の策でVB6のサンプルを探し出して上記の方法で取得しバンド、モードをHamlog側に転送しています。
>

>
> まあ、実用的とは行かなくてもプログラミング的趣味で如何ですか?

太田さん有難う御座います。窮すれば何とかで、アイデアは出るものですね。御教授頂いたサイトを見てみましたが、チャレンジしようかチョット迷う内容ですね。私の場合は、そこまでしなくても、何とか動作している状態なので。なお、ウインドウハンドルよりそのウインドウの画像を作成する、これだけでも超えられそうもないハードルです。でも、何か他に応用出来そうな情報です有難う御座いました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlog 入力画面データ 取得
699
2016/01/17(Sun) 20:52:01
JA2BQX
こんばんは。

> > 1st-QSOです の表示は、ラベル・コントロールで表示させてます。
> > お見込みのとおり、ウインドウ・ハンドルを持たないので、外部から
> > 読み書きはできないと思います。

面倒ですがその部分をbmp等の画像として切り出し、OCR機能で
文字列を取得し判断するのは如何でしょうか?
C++はやらないので分かりませんが下記が参考になるかな...。

http://homepie.blog.shinobi.jp/vc--/tesseract%20ocr%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B

私は山シャックをICOMのRS-BA1で自宅からリモートしていますが
USBでの仮想ポートを占有されてしまっているのでHamlogにバンド、モードの
取り込みが出来ません。
そこで苦肉の策でVB6のサンプルを探し出して上記の方法で取得しバンド、モードをHamlog側に転送しています。

VB2010でやったらなぜか動作が遅いのでVB6の方を使用しています。

まあ、実用的とは行かなくてもプログラミング的趣味で如何ですか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlog 入力画面データ 取得
698
2016/01/16(Sat) 20:30:30
JA9AOB 銅子
> 1st-QSOです の表示は、ラベル・コントロールで表示させてます。
> お見込みのとおり、ウインドウ・ハンドルを持たないので、外部から
> 読み書きはできないと思います。
やはり、残念でした。
HamlogのCheke2を1st QSO に割り振って自動でチェックが入る様に外付けソフトを作って(遊び)いるのですが、やむを得ず、QSO履歴ウィンドウの有無で判定させています。普通はいいのですが、この履歴ウインドウを手動で取り消すと、1st QSOとみなされてしまいます(当たり前)。LOG[A] LOG[B]を切り替えると、今のままでは、残念ながらQSO履歴ウインドウは切り替わりません。当然正しく1st QSOの判定はできません。しかし、これは取り込んだウインドウハンドルの変化で感知できるため、QSO履歴ウインドウの再処理で上手くいきました(履歴も切り替わると言う別のメリットもありました)。現状取り込みデータの変化で色々フラグを検討してみましたが、相反する状態が発生し、履歴を手動で取り消した時の処理が上手く解決出来ませんでした。
と言う事でもしかして、読み出せるかなと淡い期待でお尋ねしたところです。有難う御座いました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Hamlog 入力画面データ 取得
697
2016/01/16(Sat) 17:28:58
JG1MOU浜田
> 入力画面のLOG-[A] と表示される その下の1st-QSOです 等の情報を 入力画面の ウインドウ・ハンドル を使って読み出したいのですが、しばらくやらなかったのですっかり忘れてしまいました。

1st-QSOです の表示は、ラベル・コントロールで表示させてます。
お見込みのとおり、ウインドウ・ハンドルを持たないので、外部から
読み書きはできないと思います。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Hamlog 入力画面データ 取得
696
2016/01/14(Thu) 14:56:50
JA9AOB 銅子
浜田さん HNY
入力画面のLOG-[A] と表示される その下の1st-QSOです 等の情報を 入力画面の ウインドウ・ハンドル を使って読み出したいのですが、しばらくやらなかったのですっかり忘れてしまいました。
VC++を使っていますが C++系で結構なので、概略で教えて頂けませんか。書き込んでおられるので、お分かりかなと思いますがよろしくお願い致します。ひょっとしてStatic Text 等で ID指定を外部から出来ず、読み出せないかもしれませんね。であれば諦めますよろしくです。

代替えの方法を考えて目的を達成しました。有難う御座いました。
やはりだめでした、何かいい方法無いかな。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

環境
695
2016/01/05(Tue) 23:49:04
JA1HHN
使用PCはVAIO WIN7です。またIME は MS OFFICE 2010 です。メール、インターネットでは問題ないのですが、ハムログでは表題の環境依存文字が表示されません。また 境界.mcsv を道の駅get's に読み込めません。ファイル名を 境.mcsv とすると読込めます。また、Jクラスタ備考欄でも同様です。短時間運用と入力すると短時間運となってしまいます。なお、界、用は環境依存文字のようです。解決法を教えてください。ハムログバージョンは 5.25b で道の駅get'sは 4.9a です。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop