タイトル : Re: NullReferenceException? 投稿日 : 2005/02/09(Wed) 17:43 投稿者 : るしぇ
…分かる所だけ答えます。 >エラーが出てしまいます。 >一つは NullReferenceExceptionで >以下のコードの sss(i) = ss のところです。 ↓配列の宣言は教えたハズですが同じ事してますよ? hhttp://www.bcap.co.jp/hanafusa/bbs/wforum.cgi?no=1344&reno=1328&oya=1320&mode=msgview >「オブジェクト参照がインスタンスに設定されていません。」 のメッセージが出た場合、その9割がプログラマによる初期化ミスです。 その近辺にブレークポイントを置いてデバッグし、使用している変数の中に マウスカーソルを上に持っていった時に表示される変数の値で Nothing の 表記になっているモノがありますので探して下さい。 コードで判定するなら 'If Microsoft.VisualBasic.Information.IsNothing(sss(i)) Then ' ←でも良い If sss(i) Is Nothing Then MessageBox.Show("Nothing です。") Exit Sub Else sss(i) = ss End If >また下記コメントにもありますが毎回vbCrLfの挿入で >エラーが出てしまいこれを使用するのを避けていました。 vbCrLf の省略しないフル名前空間は Microsoft.VisualBasic.Constants.vbCrLf です。[VB.NET]のプロジェクトではデフォルトの設定として Microsoft.VisualBasic クラスが Imports されています。 このため、名前空間を省略できます。さちさんは Sharp Develop を使ってましたっけ?。…設定が違うのかも知れません。 プロジェクトのプロパティダイアログで[インポート]の 項目があれば見てみて下さい。 ファイルごとにプログラムコードで Imports を設定する事もできます。 プログラムの先頭に Imports Microsoft.VisualBasic と表記してみて下さい。省略できるようになると思います。 また、どうしても使えない場所もあったりしますが… そんな場合は vbCrLf の代わりに Chr(13) + Chr(10) と書いても同じ意味となります。 こういった、不明なオブジェクト名がサンプルソースにあった場合、 必要な参照設定がしてあれば、[オブジェクトブラウザ]で検索すると 分かりますし、便利ですので使って下さい。 |