Здравствуйте.
Игорь пишет:с VS2010 я разобрался:
У вас в примере:
If cmdArgs.Length <> 0 Then
LMS = Int32.Parse(cmdArgs(1))
Else
LMS = -1
End If
' All following Guardant API calls before next GrdCloseHandle()/GrdLogin() will use this dongle
RetCode = GrdApi.GrdLogin(GrdHandle, LMS, GrdLM.PerStation)
ErrorHandling(GrdHandle, RetCode)
Так вылетает с ошибкой, а если
LMC = 0
то все работает и в руководстве написано, что для локальных ключей этот параметр игнорируется.
Указанные ошибки для примеров "Microsoft Visual Basic 6" и "Microsoft Visual Basic .NET 2005" действительно имеют место быть.
Поскольку востребованность этих сред разработки на сегодняшний день наблюдается не слишком высокая (по крайней мере, это наши наблюдения), то и примеры под них мы, к сожалению, вовремя не скорректировали для использования с актуальными версиями Guardant API.
Однако, для того чтобы заставить данные примеры работать с современным Guardant API достаточно внести в них незначительные изменения, а именно:
1) В файле "test32.bas" исправить:
------------------------------------------------------------------------
Sub printf(ByVal Data As String)
Form_MainFrm.Form1.SetFocus
Form_MainFrm.Form1 = Form_MainFrm.Form1 + Chr$(13) + Chr$(10) + Data
Form_MainFrm.Form1.SelLength = 0
End Sub
Sub printl(ByVal Data As String)
Form_MainFrm.Form1.SetFocus
Form_MainFrm.Form1 = Form_MainFrm.Form1 + " " + Data
Form_MainFrm.Form1.SelLength = 0
End Sub
------------------------------------НА----------------------------------
Sub printf(ByVal Data As String)
Form1.MainFrm.SetFocus
Form1.MainFrm.Text = Form1.MainFrm.Text + Chr$(13) + Chr$(10) + Data
Form1.MainFrm.SelLength = 0
End Sub
Sub printl(ByVal Data As String)
Form1.MainFrm.SetFocus
Form1.MainFrm.Text = Form1.MainFrm.Text + " " + Data
Form1.MainFrm.SelLength = 0
End Sub
---------------------------------------------------------------------------
2) В файле GrdVB32.bas, в первой строке изменить значение "Public Const GrdContainerSize& =" с &H2000 на &H4000.
1) Изменить тип переменной LMS с "Dim LMS As Int32" на "Dim LMS As UInt32";
2) Изменить алгоритм выбора значений параметра LMS:
До:
--------------------------------------------
If cmdArgs.Length <> 0 Then
LMS = Int32.Parse(cmdArgs(1))
Else
LMS = -1
End If
--------------------------------------------
После:
If cmdArgs.Length <> 0 Then
LMS = UInt32.Parse(cmdArgs(1))
Else
LMS = UInt32.MaxValue '-1
End If