こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VB ファイル保存

XMLファイルに設定情報を保存仕様としているのですが,ある所でエラーが出てうまく走りません.
下記がそのプログラムになりますが,XMLファイルに保存のコメント下の所でエラーになります.
エラーの内容は「保護レベルの設定が原因で'windowsApplication1.Form2'にアクセスできません」
です.

どなたかご教示のほどよろしくお願いいたします.


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'ファイルが存在しない場合に新規にブランクファイルを作成する
'XMLファイルパス
Dim xmlFile1 As String = "C:\OBS_Setting.xml"
Dim hStream As System.IO.FileStream
'XMLファイルが存在するか確認
If Dir(xmlFile1) = "" Then
' 指定したパスのファイルを作成する
hStream = System.IO.File.Create(xmlFile1)
' hStream が破棄されることを保証するために Try ~ Finally を使用する
Try
' hStream が閉じられることを保証するために Try ~ Finally を使用する
Try
Finally
' 作成時に返される FileStream を利用して閉じる
If Not hStream Is Nothing Then
hStream.Close()
End If
End Try
Finally
' hStream を破棄する
If Not hStream Is Nothing Then
Dim cDisposable As System.IDisposable = hStream
cDisposable.Dispose()
End If
End Try
End If

'XMLファイルに設定データを保存する
Dim Area As String = ComboBox1.Text
Dim State As String = ComboBox2.Text
Dim City As String = ComboBox3.Text
Dim BefY As String = ComboBox4.SelectedIndex
Dim AftY As String = ComboBox5.SelectedIndex
Dim BefM As String = ComboBox6.SelectedIndex
Dim AftM As String = ComboBox7.SelectedIndex
'保存するオブジェクトの配列を作成

'保存するオブジェクトの配列を作成
Dim myClasses(6) As SampleClass
myClasses(0) = New SampleClass()
myClasses(0).Number = 0
myClasses(0).Message = Area
myClasses(1) = New SampleClass()
myClasses(1).Number = 1
myClasses(1).Message = State
myClasses(2) = New SampleClass()
myClasses(2).Number = 2
myClasses(2).Message = City
myClasses(3) = New SampleClass()
myClasses(3).Number = 3
myClasses(3).Message = BefY
myClasses(4) = New SampleClass()
myClasses(4).Number = 4
myClasses(4).Message = AftY
myClasses(5) = New SampleClass()
myClasses(5).Number = 5
myClasses(5).Message = BefM
myClasses(6) = New SampleClass()
myClasses(6).Number = 6
myClasses(6).Message = AftM


'XMLファイルに保存
Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(SampleClass()))
Dim fs1 As New IO.FileStream(xmlFile1, IO.FileMode.Create)
serializer.Serialize(fs1, myClasses)
fs1.Close()
End Sub
'XMLファイルに保存するオブジェクトのためのクラス
Public Class SampleClass
Public Number As Integer
Public Message As String
End Class

投稿日時 - 2012-12-26 18:38:19

QNo.7862685

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

以下のblogが参考になるでしょうか?

http://wpfmemo.blogspot.jp/2009/09/xml.html

投稿日時 - 2012-12-26 23:36:28

あなたにオススメの質問