[VB] Treeview structuur opslaan

Pagina: 1
Acties:

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Jongens, ik ben een applicatie aan het ontwikkelen voor Active Directory, app is bijna af, ik moet alleen nog ff de Active Directory structuur in m'n programma verwerken, dit doen ik in een TreeView object.

Alles gaat ok, ik kan added, editten, deleten uit de boom... maar op het moment
dat ik wil gaan opslaan in een .xml file gaat het mis, hieronder de code:

Ik heb 2 manieren van opslaan, normaal en nested, hier de code voor normaal opslaan met daaronder de error:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Dim xmlDoc As New DOMDocument30    
    Dim ElementNode As IXMLDOMElement
    Dim RootElementNode As IXMLDOMElement
    Set ElementNode = xmlDoc.createElement("NODES")
    Set RootElementNode = xmlDoc.appendChild(ElementNode)
    Dim TNode As Node
    
    Dim i As Integer
    For i = 1 To TreeView1.Nodes.Count
        Set TNode = TreeView1.Nodes(i)
        Set ElementNode = xmlDoc.createElement("NODE")
        ElementNode.setAttribute "Caption", TNode.Text
        ElementNode.setAttribute "Key", TNode.Key
        ElementNode.setAttribute "Tag", TNode.Tag
        If TNode.Parent Is Nothing Then
            ElementNode.setAttribute "ParentKey", ""
        Else
            ElementNode.setAttribute "ParentKey", TNode.Parent.Key
        End If
       RootElementNode.appendChild ElementNode
    Next
    xmlDoc.save ("C:\XMLNodes.xml")


Hierbij krijg ik een Run-time error '429'
ActiveX component can't create object

Het volgende wordt geselecteerd:

code:
1
Set ElementNode = xmlDoc.createElement("NODES")


Hieronder de code voor nested opslaan, met daaronder de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    Dim xmlDoc As DOMDocument30
    Set xmlDoc = New DOMDocument30
    
    Dim ElementNode As IXMLDOMElement
    Dim newElementNode As IXMLDOMElement
    Dim RootElementNode As IXMLDOMElement
    Dim TNode As Node
    Set ElementNode = xmlDoc.createElement("NODES")
    Set RootElementNode = xmlDoc.appendChild(ElementNode)
        
    Set TNode = TreeView1.Nodes(1).root
    While Not TNode Is Nothing
        Set ElementNode = xmlDoc.createElement("NODE")
        ElementNode.setAttribute "Caption", TNode.Text
        ElementNode.setAttribute "Key", TNode.Key
        ElementNode.setAttribute "Tag", TNode.Tag
        If TNode.Parent Is Nothing Then
            ElementNode.setAttribute "ParentKey", ""
        Else
            ElementNode.setAttribute "ParentKey", TNode.Parent.Key
        End If
        Set newElementNode = RootElementNode.appendChild(ElementNode)
        If TNode.children > 0 Then
            AddChildNodes newElementNode, TNode
        End If
        Set TNode = TNode.Next
    Wend
    xmlDoc.save ("C:\XMLNodes.xml")


Ik krijg dezelfde runtime error met het volgende geselecteerd:

code:
1
    Set xmlDoc = New DOMDocument30


Hij kan dus gewoon niet createn, maar waarom niet...
Ik zit echt helemaal vast, gebruik ik verkeerde objecten? Wat gaat er mis :?

Ik weet dat een treeview object niet het makkelijkste onderdeel in VB is, maar ik hoop dat er toch een GoT'er rond loopt die er ook ervaring mee heeft. _/-\o_

Verwijderd

Heb je wel n recente versie van de xml parser geinstalleerd?

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Verwijderd schreef op 02 oktober 2002 @ 13:32:
Heb je wel n recente versie van de xml parser geinstalleerd?
Dacht dat ie al in VB zat :?

Zoniet, kan je me er bij helpen?

Verwijderd

prfft had je best zelf even kunnen zoeken..
http://msdn.microsoft.com.../766/msdncompositedoc.xml

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Ik heb hem al...

Installing now...
True GoT'er has spoken ;)

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Heb net 4 MB gedowned:

Dit installatiepakket kan niet door Windows Installer
worden geinstalleerd. U moet een Windows Service
Pack installeren met een nieuwere versie van
Windows Installer.

Dit ga je niet menen, windows beweerd dat hij SP3 nodig heeft begrijp ik?
Here we go (met m'n ISDN lijn op m'n werk) AAAAAAAAAAARGH!

Verwijderd

Je hebt gewoon n nieuwe windows installer nodig..ding is 1.5mb geloof ik niet zo klagen hoor ;)

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 08:19

Tukk

De α-man met het ẞ-brein

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
Het probleem is opgelost, het lag dus gewoon aan de XML parser, weer wat geleerd *D
Pagina: 1