tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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)
と書いても同じ意味となります。
こういった、不明なオブジェクト名がサンプルソースにあった場合、
必要な参照設定がしてあれば、[オブジェクトブラウザ]で検索すると
分かりますし、便利ですので使って下さい。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。