2013-07-25 24 views
0

我目前正在寫一個函數,需要從Magtek讀取器讀取加密卡數據並將其發送給他們的WS進行解密。我下載的源代碼從該網站閱讀器和它運行在VB6正常,但是我需要得到這個到Visual Studio 2010中這這裏是從VB6版本的代碼:MagTek加密讀卡器的更新代碼?

If nValueNameLen > 0 Then 

      ReDim Preserve Values(0 To 1, 0 To nStrings) As String 
      Values(0, nStrings) = Left$(ValueName, nValueNameLen) 
      Values(1, nStrings) = Left$(Value, nValueLen - 1) 
      nStrings = nStrings + 1 

End If 

當我運行在2005年或2010年更新,代碼如下所示:

If nValueNameLen > 0 Then 

      ReDim Preserve Values(1, nStrings) 
      Values(0, nStrings) = Left(ValueName, nValueNameLen) 
      Values(1, nStrings) = Left(Value, nValueLen - 1) 
      nStrings = nStrings + 1 

End If 

這將導致一個「‘使用ReDim’無法更改數組的維數」的錯誤,其他的錯誤過多嘗試時導致之中更新。是否有修復,我可以爲此或任何更多的當前代碼可以使用,如果他們試圖將讀卡器實施到他們自己的程序(當然在VB.net中)。

回答

1

值大概聲明如下:

Dim Values() as String 

時,需要用它來聲明:

Dim Values(,) as String 
+0

+1。看起來像。 – Neolisk

+0

我怎麼沒有看到這個......謝謝你。 – user2620509