おかげさまで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)