構造体代入時のNULL参照例外
- 題名: 構造体代入時のNULL参照例外
- 著者: matu
- 日時: 2012/01/12 12:19:53
- ID: 29583
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 構造体代入時のNULL参照例外
- 著者: 魔界の仮面弁士
- 日時: 2012/01/12 13:48:06
- ID: 29584
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 構造体代入時のNULL参照例外
- 著者: shu
- 日時: 2012/01/12 17:40:44
- ID: 29588
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 構造体代入時のNULL参照例外
- 著者: matu
- 日時: 2012/01/13 17:49:43
- ID: 29602
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 構造体代入時のNULL参照例外
- 著者: 魔界の仮面弁士
- 日時: 2012/01/13 19:14:15
- ID: 29604
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 構造体代入時のNULL参照例外
- 著者: matu
- 日時: 2012/01/14 15:07:55
- ID: 29606
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: 構造体代入時のNULL参照例外
- 著者: matu
- 日時: 2012/01/24 9:49:38
- ID: 29655
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります。 構造体変数への代入時に "Object reference not set to an instance of an object." というメッセージの例外が出るときがあるのですが、 なぜ NULL 参照となるのか、原因がわかりません。 コードは次の通りで、問題の個所は FuncA の冒頭です。 Private Function FuncA(ByRef c1 As ClassA, _ ByRef Optional v1 As Integer = 0, _ ByRef Optional v2 As Integer = 0, _ ByVal Optional v3 As Boolean = True) As StructA Dim st1 As StructA st1 = FuncB() '→この行で例外が出る。 (省略) Return st1 End Function Private Function FuncB() As StructA Dim st2 As New StructA st2.init() (条件に合わせてstの各メンバーを設定。 但し例外になる場合もならない場合も同じパスを通る。) Return st2 End Function Public Structure StructA Public value As Integer Public message As String Public code As Integer Sub init() value = 0 message = String.Empty code = 0 End Sub End Structure 毎回必ず例外となるわけではなく、 アプリケーションを実行し続けているとたまに発生します。 一旦発生すると、FuncA 実行時に必ず発生するようになりますが、 他の処理は問題なく動作します。 アプリケーションを終了後、再実行すると発生しなくなるので、 メモリ不足の可能性も考えたのですが、 OurOfMemoryException や StackOverFlowException ではないので、 違うのかなと。 また、実行環境が XP Embedded なのですが、 そこ固有の問題かどうかは切り分けできておらず、 デバッガ上での再現はまだできていません。 以上ですが、何か心当たりがありましたら、助言頂けると助かります。 よろしくお願い致します。