[VB6] Dynamisch doorlopen public types

Pagina: 1
Acties:

  • Bats
  • Registratie: Oktober 2000
  • Laatst online: 30-01 19:14
Ik ben bezig met een generale module te maken voor het aanmaken van xml. Nu wil ik een zo generieke module maken zodat de programmeur geen elementen hoeft te schrijven en bij te houden waar in het xml document hij nu eigelijk zit. (xml is niet zeer complex max 2 nivo's).

Nu lijkt het mij handig als de programmeur in zijn code een Public Type maakt waar in hij de velden
vult welke hij wilt gebruiken. Bijv

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Type udt_Meta
    dAanmDat                                    As Date
    dSchaDat                                    As Date
    dTekenDat                                   As Date
    dblClientn                                  As Double
    dblPakketPoln                               As Double
    dblPoln                                     As Double
    dblSchaNr                                   As Double
    iAvoorw                                     As Integer
    iarrBijlagen(9)                             As Integer
    iBrcod                                      As Integer
    iClBlad                                     As Integer
    iMaatschappij                               As Integer
    iVoorw                                      As Integer
    lAgent                                      As Long
    lWagenpark                                  As Long
    sKenteken                                   As String
    sUserId                                     As String
    sngBinx_Volgnr                              As Single
    tNaam                                       As udt_MetaNaam
    tPostCode                                   As udt_MetaPostcode
    tVerzekerdePostcode                         As udt_MetaPostcode
End Type


Maar er kan ook wat anders in staan, nu wil ik een functie hebben die door een type heen loopt, de naam van de type en van zijn elementen door geeft en de waarde van het element. En dus dmv een recursive ook de onderliggende types kan ophalen.

Hoe doorloop je zon type waarvan je dus niet weet hoe hij er uit ziet en haalt de namen en waardes op.

In de vorm van :
Visual Basic:
1
2
3
4
5
6
7
Public Function Create_Sub(tView As Variant) 'tview wordt gevult met de type van de programmeur
    
    For Each typeindex In tView
        sNaam = GetNaam(typeindex)
        vWaarde = getWaarde(typeindex)
    Next
End Function


Ik weet wel dat je dmv TypeName() de type van je variabele kan krijgen (boolean, string etc). Maar hoe je dat dus voor de naam doet geen idee. En hoe doorloop je je type?

Grt Bats

Verwijderd

Met TLIApplication, zie http://www.codeproject.com/com/ObjViewer.asp

code:
1
2
3
4
5
6
7
8
9
10
Set Obj = CreateObject("x.y")
                Set tlApp = New TLI.TLIApplication
                Set tlIrf = tlApp.InterfaceInfoFromObject(Obj)
        
                For Each tlmi In tlIrf.Members
                        If LCase$(tlmi.Name) = "item" Then
                                IsCollection = True
                                Exit For
                        End If
                Next


Met objecten iig, probeer het eens met een type. Het lijkt me dat dit wel de goede ingang is.