2010-05-19 50 views
4

我試圖調試我的表單時出現此錯誤,我無法看到所有錯誤的位置(也不會突出顯示位置),任何人有任何建議?創建表單時發生錯誤。有關詳細信息,請參閱Exception.InnerException。錯誤是:對象引用未設置爲對象的實例

創建表單時發生錯誤。 請參閱Exception.InnerException獲取 的詳細信息。錯誤是:對象 引用未設置爲 對象的實例。

Dim dateCrap As String = "Date:" 
Dim IPcrap As String = "Ip:" 
Dim pcCrap As String = "Computer:" 
Dim programCrap As String = "Program:" 

Dim textz As String 
Dim sep() As String = {vbNewLine & vbNewLine} 
Dim sections() As String = Text.Split(sep, StringSplitOptions.None) 

Dim NewArray() As String = TextBox1.Text.Split(vbNewLine) 


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    textz = TextBox1.Text 
End Sub 
+0

**當**發生錯誤時?請從您的問題中刪除所有不相關的代碼。 – 2010-05-19 15:19:25

+1

只要我調試,這個問題的全部重點就是要看看錯誤在哪裏,所以它可能在任何地方 - 因此發佈它。 – Ben 2010-05-19 15:22:14

+0

不...錯誤不能出現在任何Buttonx_Click事件中,現在可以嗎? – 2010-05-19 15:24:58

回答

3

的錯誤是在這裏:

Dim textz As String = TextBox1.Text 

這裏:

Dim NewArray() As String = TextBox1.Text.Split(vbNewLine) 

,並可能在這裏:

Dim sections() As String = Text.Split(sep, StringSplitOptions.None) 

不能初始化就像個成員是因爲此代碼基本上在構造函數中執行,之前TextBox1(或任何其他控件/屬性)被初始化,因此它是Nothing

將引用控件的所有初始化放入事件中 - 這就是它的用處。

+1

同樣的結果,似乎無法找到任何其他考慮你的建議。 – Ben 2010-05-19 15:28:39

+0

@Ben:如果結果是一樣的,那麼你忽略了一個類似的初始化。從表單中刪除所有其他代碼以減少問題。 – 2010-05-19 15:31:19

+0

爲什麼這會得到downvoted? – 2010-05-19 15:35:54

2

關閉「選項>常規」選項卡上調試部分下的「我的代碼」。這會告訴你確切的錯誤來自哪裏。

+0

我和OP有類似的問題,但我沒有涉及設置模塊級變量來形成控件。取而代之的是,我的表單有一個複選框,默認爲checked,然後觸發checkedchanged事件,調用一個訪問尚未初始化變量的子例程。這樣做有助於找出問題(我在我的表單中添加了「Sub Main」,並在'InitializeComponent()'調用周圍包裝了一個'Try ... Catch')。 – RianBattle 2016-01-13 20:16:10

0

我有相同的症狀 - 甚至無法啓動調試,因爲在我的任何代碼開始運行之前,出現錯誤。最終跟蹤它到一個調整大小事件處理程序:

私人小組frmMain_Resize(發送者爲對象,E作爲System.EventArgs)把手Me.Resize

ArrangeForm() 

末次

只要我刪除處理程序,錯誤消失。奇怪的是,它已經運行了大約3周(雖然我開發了代碼的其他部分)沒有任何問題,只是自發地停止工作。 ResizeEnd事件處理程序不會引起任何問題。

只要發佈這個,以防其他人不幸遇到同樣的問題。我花了8個小時來追蹤它。

相關問題