У меня есть 2 структуры
Public Structure One
Public ItemOne As String
Public ItemTwo As Integer
End Structure
Public Structure Two
Public ItemOne As String
Public ItemTwo As Integer
Public ItemThree As Integer
Public ItemFour As Integer
Public ItemFive As Integer
End Structure
Public TestOne(0) as One
Public TestTwo(19) as Two
Используя метод FileOpen, FilePut и FileClose, я получаю ошибку: (В качестве примера приведен только соответствующий код)
Public Sub WriteOne()
FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Write)
FilePut(1, TestOne)
FileClose(1)
End Sub
Public Sub ReadOne()
FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Read)
FileGet(1, TestOne)
FileClose(1)
End Sub
Public Sub WriteTwo()
FileOpen(1, "Two.dat", OpenMode.Random, OpenAccess.Write)
FilePut(1, TestTwo)
FileClose(1)
End Sub
Public Sub ReadTwo()
FileOpen(1, "Two.dat", OpenMode.Random, OpenAccess.Read)
FileGet(1, TestTwo)
FileClose(1)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReadOne()
ReadTwo()
Label1.Text = Cstr(TestOne(0).ItemTwo)
Label2.Text = Cstr(TestTwo(4).ItemFour)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TestOne(0).ItemTwo = 9
TestTwo(4).ItemFour = 78
WriteOne()
WriteTwo()
End Sub
Результаты в необработанном исключении.Длина плохой записи.и затем, если я закрою его и снова открою, я получу ошибку «Невозможно прочитать за пределами конца потока».
Так, каков наилучший способ сохранить массив структур?Бинарный читатель / писатель?и почему этот способ не работает (даже если он получен из VB6)