2014-06-13 57 views
1

當我將代碼帶入另一個項目時出現錯誤。在一個空白的項目中,它工作正常,我真的不知道如何解決它,這裏是錯誤數組索引無法訪問,因爲它是朋友

錯誤1'System.Data.Index'在此上下文中不可訪問,因爲它是'朋友'。

 Dim DataString As String = txtAdvancedCommand.Text 
    ' Create an array containing from each letter in Textbox 
    Dim charArray() As Char = DataString.ToCharArray 

    For index = 0 To charArray.GetUpperBound(0)  <-----ERROR on word index 
     Try 
      'Now lets send the data 
      If SerialPort.IsOpen Then 
       SerialPort.Write(charArray(index) & vbCrLf) <-----ERROR on word index 
      Else 
       ConnectSerial() 
       SerialPort.Write(charArray(index) & vbCrLf) <-----ERROR on word index 
      End If 
     Catch e As Exception 
      txtLog.AppendText(e.Message & vbCrLf) 
     End Try 
    Next 

現在我帶進項目有一個DLL,我懷疑它是用它做,我不能得到源代碼的DLL那麼有沒有解決這個另一種方式?

+0

哪裏'昏暗指數Integer'聲明? – ja72

+0

錯誤消息表明存在'System.Data.Index'類,其可訪問性爲'Friend',編譯器對您的索引變量感到困惑。如果您明確聲明它,錯誤會消失嗎?對於索引作爲整數= 0到charArray.GetUpperBound(0)...'? – pmcoltrane

+0

謝謝你們,我不明白爲什麼它不需要在另一個項目中聲明爲int。感謝大家的幫助,非常感謝。 –

回答

0

嘗試:

For index As Integer= 0 To charArray.GetUpperBound(0) 

或更好,但

For index As Integer= 0 To charArray.Length 

或更好,但

Dim DataString As String = txtAdvancedCommand.Text 
' Create an array containing from each letter in Textbox 
Dim charArray As String() = Array.ConvertAll(DataString.ToCharArray(), Function(c) c.ToString()) 
Dim output As String = String.Join(vbCrLf, charArray) 
If Not SerialPort.IsOpen Then 
    ConnectSerial() 
End If 
SerialPort.Write(output) 
相關問題