Public Sub load_Click()
Dim $root As Element
Dim oRoot As Element
Dim oElement As Element
Dim oAttribute As Attribute
Dim oXml As New XmlReader
Dim enam As String
Dim cp As String
Dim sv As Integer
doc = New Document
Dialog.Title = "Open a Project"
Dialog.Filter = ["Sly Project (*.slyproj)"]
If Dialog.OpenFile() Then Return
SetPath(Dialog.Path)
iab = 4
tvcode.Clear()
$root = New Element(Null, Null, Null)
$root.Name = "root"
$root.Elements.Clear()
$root.Attributes.Clear()
oRoot = $root
oXml.Open($sPath)
Do Until (oXml.Eof)
Select Case oXml.Node.Type
Case XmlReaderNodeType.Element
'Message.Info(oXml.Node.Name)
Select Case oXml.Node.Name
Case "glvar"
tvcode.Add("1", "global variables", vars)
cp = "1"
Case "func"
tvcode.Add("2", "functions", func)
cp = "2"
Case "main"
tvcode.Add("3", "main", main)
cp = "3"
Default
If oXml.Node.Name <> "slyproj" And oXml.Node.Name <> "prognam" Then
tvcode.Add(iab, oXml.Node.Name, act, cp).EnsureVisible
tvcode.Item.EnsureVisible
cp = iab
iab = iab + 1
Endif
End Select
enam = oXml.Node.Name
oElement = New Element(oRoot, oXml.Node.Name, oXml.Node.Value)
For Each oXml.Node.Attributes
oAttribute = New Attribute(oElement, oXml.Node.Name, oXml.Node.Value)
oElement.Attributes.Add(oAttribute)
Next
oRoot.Elements.Add(oElement)
oRoot = oElement
Case XmlReaderNodeType.EndElement
oRoot = oRoot.Parent
If enam <> "slyproj" And enam <> "prognam" And enam <> "glvar" And enam <> "functions" And enam <> "main" Then
cp = tvcode.Item.ParentKey
sv = CInteger(cp) 'ERRORE
sv = sv - 1
cp = CString(sv)
Endif
Case XmlReaderNodeType.Text
oElement.Value &= Trim(oXml.Node.Value)
'Message.Info(oXml.Node.Value)
If enam <> "slyproj" And enam <> "prognam" Then
tvcode.Add(CString(iab), enam & " " & oXml.Node.Value, cond, cp).EnsureVisible
tvcode.Item.EnsureVisible
iab = iab + 1
Else If enam = "prognam" Then
progname = oXml.Node.Value
Endif
End Select
oXml.Read()
Loop
oXml.Close()
End
se non mi dasse errore andrebbe! mi dice type mysmatch wanted integer got string (dove ho fatto il commento errore)