C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

System.NullReferenceExceptionが

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■86792 / inTopicNo.1)  System.NullReferenceExceptionが
  
□投稿者/ an (1回)-(2018/03/15(Thu) 23:34:29)

分類:[.NET 全般] 

 Visual Studio VB環境使ってます。

曲をloopさせたとき
System.NullReferenceException: 'オブジェクト参照がオブジェクト インスタンスに設定されていません。'
とでてきました。

デバック中のエラーは

mports System.IO
Imports System

Public Class usercontrol1
Dim length As Integer
    Dim current As Integer

    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
’ここです↓        
length = AxWindowsMediaPlayer1.currentMedia.duration
’↑
        current = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition

        ProgressBar1.Value = current
        ProgressBar1.Maximum = length

        If ProgressBar1.Value = 100 Then
            ProgressBar1.Value = 0
        End If
    End Sub
End Class

何度もやっても変わらず、System.NullReferenceException: 'オブジェクト参照がオブジェクト インスタンスに設定されていません。'

検索してみても当てはまるものが検討しません。

よろしくお願いします。

引用返信 編集キー/
■86793 / inTopicNo.2)  Re[1]: System.NullReferenceExceptionが
□投稿者/ とっちゃん (491回)-(2018/03/16(Fri) 10:19:42)
No86792 (an さん) に返信

曲をループした時、要するに曲が終了してもう一度最初から再生しようとしたときに
何をやっているかだと思います。

> ’ここです↓
> length = AxWindowsMediaPlayer1.currentMedia.duration
> ’↑
の部分は3つのオブジェクトが右辺(=の右側)にあります。
このうちのどれかが null になっているので、System.NullReferenceException 例外が発生します。

ここだけを見てもエラーの直接的な原因はわかりません。
デバッガで追うのが大変なら

Debug.Assert( AxWindowsMediaPlayer1 != null );
Debug.Assert( AxWindowsMediaPlayer1.currentMedia != null );

とすれば、どちらかが null になっていれば、例外が発生する前に assert で引っかかります。

あとは、それを頼りに、ループ処理をしているところなどでどういう風に状況が変わっているかを
デバッガなどで追いかけてみればいいと思います。

引用返信 編集キー/
■86794 / inTopicNo.3)  Re[1]: System.NullReferenceExceptionが
□投稿者/ 魔界の仮面弁士 (1593回)-(2018/03/16(Fri) 10:47:48)
No86792 (an さん) に返信
> ’ここです↓
> length = AxWindowsMediaPlayer1.currentMedia.duration
> ’↑

VB2017 であれば
 length = If(AxWindowsMediaPlayer1.currentMedia?.duration, 0)
のようにしてみては如何でしょう。



以下、参考までに。

[RESOLVED] vb 2010 express system.nullreferenceexception
http://www.vbforums.com/showthread.php?697715-RESOLVED-vb-2010-express-system-nullreferenceexception
引用返信 編集キー/
■86797 / inTopicNo.4)  Re[2]: System.NullReferenceExceptionが
□投稿者/ an (2回)-(2018/03/16(Fri) 17:52:11)
お二人の方ありがとうございました。
新規作成してもう一度同じコード(form1とusercontrol)をやったところ無事直りました。



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ