HG_CassiusA
Hallowed are the Ori
Alrighty, here are my fixes:
mnuOpen_Click() in Form1.vb
mnuAdd_Click() in Form1.vb
mnuRemove_Click() in Form1.vb
Hope this helps
I've also been trying to update your XML reading code to .NET 2.0 compliancy, since the XMLValidatingReader class is obsolete in .NET 2.0.
mnuOpen_Click() in Form1.vb
Code:
Private Sub mnuOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOpen.Click
On Error GoTo ERR_mnuOpen
Dim FileTarget As New Windows.Forms.OpenFileDialog
FileTarget.Filter = "XML files (*.xml)|*.xml"
FileTarget.Title = "Select Technology file"
FileTarget.CheckFileExists = True
FileTarget.CheckFileExists = True
FileTarget.ShowDialog() 'BUG: Exception when trying to open a file that contains no techs. - NOT FIXED (in progress)
'While FileTarget.FileName = ""
'End While BUG: Application hangs. - FIXED
If FileTarget.FileName = "" Then Exit Sub 'Application would hang using the above code.
If System.IO.File.Exists(FileTarget.FileName) Then
LoadXML(FileTarget.FileName)
End If
lstTechs.DataSource = CurTechList
lstTechs.DisplayMember = "Name"
lstTechs.ValueMember = "Data"
FileOpen = True
FileName = FileTarget.FileName
mnuTechs.Enabled = True
'Error-handling
Exit Sub
ERR_mnuOpen:
Dim result As MsgBoxResult
result = MsgBox("An error occurred while trying to open the file. Would you like to try opening another one?", MsgBoxStyle.YesNo, "File error")
If result = MsgBoxResult.Yes Then mnuOpen_Click(sender, e)
End Sub
mnuAdd_Click() in Form1.vb
Code:
Private Sub mnuAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAdd.Click
Dim tech As New clsTechData
tech.Name = InputBox("Please name your new technology.", "Add Technology", "UnnamedTech") 'Added by HG_CassiusA (Brendon S. Allan)
'tech.Name = "UnnamedTech" <==Obsolete code==> (HG_CassiusA)
CurTechList.Add(tech, tech.Name) 'Changed from CurTechList.Add(tech) to fix bug regarding technology deletion.
CurTech = tech
If Not CurTechList Is Nothing Or CurTechList.Count > 0 Then
lstTechs.DataSource = Nothing
lstTechs.DataSource = CurTechList
lstTechs.DisplayMember = "Name"
lstTechs.ValueMember = "Data"
Else
lstTechs.DataSource = Nothing
End If
lstTechs.ClearSelected()
lstTechs.SelectedIndex = lstTechs.Items.Count - 1
SetupForm()
End Sub
mnuRemove_Click() in Form1.vb
Code:
Private Sub mnuAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAdd.Click
Dim tech As New clsTechData
tech.Name = InputBox("Please name your new technology.", "Add Technology", "UnnamedTech") 'Added by HG_CassiusA (Brendon S. Allan)
'tech.Name = "UnnamedTech" <==Obsolete code==> (HG_CassiusA)
CurTechList.Add(tech, tech.Name) 'Changed from CurTechList.Add(tech) to fix bug regarding technology deletion.
CurTech = tech
If Not CurTechList Is Nothing Or CurTechList.Count > 0 Then
lstTechs.DataSource = Nothing
lstTechs.DataSource = CurTechList
lstTechs.DisplayMember = "Name"
lstTechs.ValueMember = "Data"
Else
lstTechs.DataSource = Nothing
End If
lstTechs.ClearSelected()
lstTechs.SelectedIndex = lstTechs.Items.Count - 1
SetupForm()
End Sub
Hope this helps

I've also been trying to update your XML reading code to .NET 2.0 compliancy, since the XMLValidatingReader class is obsolete in .NET 2.0.