2013-03-04 91 views
0

此刻我試圖使用this VLC library的WinForms空引用異常

一個winform應用程序中打開了我的第一個視頻文件,至於我可以告訴大家,我擁有了一切正確設置。我已經遵循了示例項目給出的所有源代碼,並以示例項目的樣式創建了我的winform。當我運行該項目,並打開我的文件,我得到一個Null Reference Exception在下面的代碼,即行vlcControl.Media = media;

if (openFileDialog.ShowDialog(this) == DialogResult.OK) 
    { 
    var media = new PathMedia(openFileDialog.FileName); 
    vlcControl.Media = media; 
    } 

我知道空引用錯誤發生,因爲我還沒有初始化的東西,但我的眼睛媒體已經成爲一個新的對象。那麼爲什麼我的編譯器會拋出一個合適的?

更新 我修復了這個問題。我不得不重建並重新添加一個解決此問題的DLL。感謝您的幫助。

+0

可能重複[什麼是.NET中的NullReferenceException?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net) – 2013-03-04 16:56:29

+0

當你調試你的代碼是'媒體'實際上'null'還是它有價值? – 2013-03-04 16:59:48

+0

你能給我們提供錯誤的內部例外嗎? – jomsk1e 2013-03-04 21:00:11

回答

2

有兩種選擇可能導致此問題。

  1. vlcControl在該點處爲空(尚未被構建或初始化)。這會導致發生異常,因爲您嘗試訪問Media屬性。
  2. vlcControl正在引發異常,因爲它的內部狀態設置不正確。如果設置Media屬性導致代碼在內部運行,並且狀態設置不正確,則可能會引發異常。

你應該能夠看到異常的詳細信息或當地人窗口(檢查vlcControlnull),以確定問題所在。