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

Re: VB2010 Th521api cmmd = 119 投稿者:JJ8LSI 水本

> おかげさまでWinXpでのVB2010とWin7(64bit版)のVB2010でも cmmd = 119 は出来ました。
>
>
> 続けてで恐縮ですが、下記はWinXpでのVB2010では動くのですが
> Win7(64bit版)では、
> cmmd = 27 でクローズしてから Hamlog.dx0 をオープンしようとすると
> 「間違ったフォーマットのプログラムを読み込もうとしました」のエラ−が出てしまいます。(VB6ではOKだが...)
>
> どこかおかしなところがあればご指摘をお願いします。
>
>
> Structure TIDXh ' インデックスファイル用
> Dim p As Int32
> Dim fHdl As Int32
> <VBFixedArray(260), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=260)> Dim Temp() As Byte
> Public Sub Initialize()
> ReDim Temp(260)
> End Sub
> End Structure
>
> Declare Function idx_open Lib "Hamlog50.dll" (ByVal s As String, ByRef p As TIDXh) As Int32
> Declare Sub idx_close Lib "Hamlog50.dll" (ByRef p As TIDXh)
> Declare Function idx_search Lib "Hamlog50.dll" (ByRef p As TIDXh, ByVal s As String, ByVal l As Int32) As Int32
> Declare Function idx_next Lib "Hamlog50.dll" (ByRef p As TIDXh) As Int32
>
> Public THindx As TIDXh
>
> (idx_open , idx_search , idx_next , idx_close も同じエラーが出る)
>
> Ret = idx_open("C:\Hamlog\Hamlog.dx0", THindx) 'DbsCallDX でQSOデータ、コールサイン順(*.DX0)

読むだけならHAMLOGとプログラムがデータをシェアのフラグを立ててれば27,28のコマンドは必要ないと思います

当方はWindows7HOME64bitですが

HAMLOG共有オープンしていない場合やってみました

Hwnd1 = FindWindow("TThwin", vbNullString)
'// Hwnd1 = FindWindow("#32770", vbNullString)
If Hwnd1 < 1 Then ' ハムログが起動していない
Exit Sub
End If

Dim cds As COPYDATASTRUCT
cmmd = 27
cds.dwData = cmmd
cbuff = vbNullString
cds.cbData = 0
cds.lpData = ""
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, Me.Handle, cds)
Ret = idx_open("Hamlog.dx0", THindx)
Ret = idx_search(THindx, "------", 0)
-----はコールサインで

Windows764bitで動作しました
レコード番号も返ってきてます

質問のエラーが不明です
ファンクションの戻り値を質問に書くと良いんですがね

2012/10/13(Sat) 23:19:06  [No.315]


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