看板 C_Sharp 關於我們 聯絡資訊
我現在有另外一個問題出現了~"~ 重開機以後莫名奇妙就不能debug了orz(所有的.net專案都掛了...) 出現了一個錯誤視窗上面寫著 嘗試執行專案時發生錯誤,無法開始偵錯。 連結控制碼不正確 google查了說要把 系統管理工具→服務→Terminal Services 啟動 但是我點了啟動以後 就卡住了 最後就是沒有回應掛點... 有沒有版上大大可以幫我解決這個問題~"~ ※ 引述《tramp (無法控制的思緒)》之銘言: : 為了讓label隨著計算不斷地更新 : 所以我設定了 : delegate void SetLabelAsCallBack(string text); : 在thread跑的時候 : 會呼叫下面這個function來更新label : private void renderLableTimes(string timesNow) : { : if (this.labelEpochNow.InvokeRequired) : { : SetLabelAsCallBack labelBack = new : SetLabelAsCallBack(renderLableEpochs); : this.Invoke(labelBack, : new object[] { timesNow }); : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : 問題出在這一行 : 顯示的例外是 ObjectDisposedException : 無法存取以處置的物件 : } : else : { : this.labelEpochNow.Text = "Times" + timesNow; : } : } : 我的程式是這樣的 : 啟動程式之後 : label會不斷地更新該label的數值 : 然後我有另外一個地方(B地方)會使用到該label的值(就是上面的 timesNow) : 我設定了一個checkBox來決定B地方是否執行(其實就是畫圖) : 假如程式一開始的地方B處就是執行的 : 就很順利的一直跑 : 當程式正在跑的時候 : 我想讓B停止畫圖 程式繼續跑 只剩下label繼續更新數值 : 這個時候就會當掉出現上面的錯誤例外 : 我查了網路 : 用try catch將this.Invoke(....)這行包起來之後 : 有出現其他的錯誤例外 : 最後是跑到 : Application.Run(new MyGame()); : 顯示IndexOutOfRangeException例外 : 或者是 : NullReferenceException例外 : 但我不知道該怎麼去處理這樣的問題 : 是因為thread在跑的關係 導致原本我的程式MyGame變成了null : 以至於讀取不到timesNow的數值嗎@@? : 煩請板上大大可以幫我解決這個難題~"~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.44.27 ※ 編輯: tramp 來自: 140.112.44.27 (01/02 23:49)