tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルForm3での処理
記事No2959
投稿日: 2006/01/20(Fri) 15:43
投稿者AIN
[OSのVer]:Windows XP    [VBのVer]:VB.NET 2003
Form1からForm3を呼び出してXMLファイルに上書きをするという処理をしたいです。
Form1に同様に書いた場合は問題なく実行できましたが、Form3では「オブジェクト参照が
オブジェクト インスタンスに設定されていません」とでてしまいます。
どこが間違っているのでしょうか。教えてください。よろしくお願いします。

Dim Path As String = System.IO.Path.Combine(Application.StartupPath, CurDir()
& "\sample.xml")
Dim doc As Xml.XmlDocument = New Xml.XmlDocument
doc.Load(Path)
Dim membersNode As Xml.XmlNode
membersNode = doc.SelectSingleNode("Contents/Member")
Try
 For Each accountNode As Xml.XmlElement In membersNode.ChildNodes 
  '↑この部分でエラーがおこっています
  If accountNode.Name = "Account" And accountNode.ChildNodes(ChildNode.Id). _
  InnerText = TextBox1.Text Then
   If accountNode.ChildNodes(ChildNode.Password).InnerText = TextBox2.Text Then
    MsgBox("間違っています")
   Else
    MsgBox("パスワードが間違っています", MsgBoxStyle.Exclamation)
    Exit Sub
   End If
  End If
 Next
 MsgBox("IDが間違っています", MsgBoxStyle.Exclamation, "注意")
Catch ex As Exception
 MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try  

[ツリー表示へ]
タイトルRe: Form3での処理
記事No2965
投稿日: 2006/01/21(Sat) 03:46
投稿者なおこ(・∀・)
お世話になります。

> 「オブジェクト参照が
> オブジェクト インスタンスに設定されていません」とでてしまいます。
NullReferenceException ですね。

>  For Each accountNode As Xml.XmlElement In membersNode.ChildNodes 
>   '↑この部分でエラーがおこっています
ウォッチウィンドウ などで、
membersNode とか membersNode.ChildNodes とかを見てみると、多分 Nothing が入ってませんか?

[ツリー表示へ]
タイトルRe^2: Form3での処理
記事No2981
投稿日: 2006/01/24(Tue) 09:23
投稿者AIN
> >  For Each accountNode As Xml.XmlElement In membersNode.ChildNodes 
> >   '↑この部分でエラーがおこっています
> ウォッチウィンドウ などで、
> membersNode とか membersNode.ChildNodes とかを見てみると、多分 Nothing が入ってませんか

なおこ(・∀・)さんが指摘くださったようにNothingが入ってました(汗)。
Nothingが入らないように修正したら、動きました。
ご指摘ありがとうございます。

[ツリー表示へ]