While Schleife ... Hab ich da einen BUG gefunden?

    • Offizieller Beitrag

    falls du 9 erwartet hast, dann muss es so aussehen


    Wieviele sollen es denn sein?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • oh wie peinlich ... ihr habt ja recht ...


    mein Problem war:


    ich übergebe einen Knoten in einer While Schleife an eine Funktion
    CrawlPartner


    Wenn ich mir nun zB den PartnerNamen ausgeben lasse per Messagebox, wird die erste while schleife unterbrochen :-?
    und das gesamte sub beendet
    ------------------------------------------


    ...


    Case DOMNODETYPE_ELEMENT_NODE: 'Case: üblicher Element Knoten

    'Semiramis Knoten herausfiltern und Kinderknoten
    'an CrawlPartner übergeben

    Set semiramisNode = node
    If semiramisNode.LocalName = "semiramis" Then

    Set SemiramisChild = semiramisNode.FirstChild
    numSemimarisChildNodes = semiramisNode.NumberOfChildNodes
    While numSemimarisChildNodes > 0
    Set SemiramisChild = SemiramisChild.NextSibling
    numSemimarisChildNodes = numSemimarisChildNodes - 1


    'Hier übergebe ich die einzelnen PartnerKnoten
    Call CrawlPartner(SemiramisChild)





    Wend

    End If





    --------------------------------------------------------------
    Funktion CrawlPartner:


    --------------------------------------------------------------


    Function CrawlPartner ( PartnerNode As notesdomnode)

    REM Läuft durch den übergebenen Partnerknoten
    REM und behandelt Ihn gemäß Anweisung

    Dim PartnerData As notesdomnode
    Dim numPartnerData As Integer

    If PartnerNode.LocalName = "Partner" Then 'Partnerknoten herausfiltern


    Set PartnerData = PartnerNode.FirstChild
    numPartnerData = PartnerNode.NumberOfChildNodes
    While numPartnerData > 0
    Set PartnerData = PartnerData.NextSibling
    numPartnerData = numPartnerData - 1
    Messagebox(PartnerData.LocalName)
    Wend



    End If

    End Function


    --------------------------------------------------------------
    ich hab also ne Messagebox in 2 While Schleifen
    lass ich sie drin, übergibt er nur einen Partner an Crawl Partner
    nehm ich sie raus, läuft er so oft in die CrawlPartner wie es Partner gibt - so sollte es sein.


    Wieso kann das an einer Messagebox liegen?


    Zusatzinfo:
    wenn ich die Zeile


    Set PartnerData = PartnerData.NextSibling


    rausnehme, springt er doch nicht raus! :-?

  • auweh ... ich habs raus


    ich bin aber auch doof


    wisst ihr, man sollte mit dem ersten Kinderknoten anfangen und dann runterzählen und nicht zuerst runterzählen weil man sonst an der letzten Stelle einen ISNULL Knoten bekommt und der sorgt natürlich für einen Abbruch ...


    SORRY :P heut is nich mein Tag


    ich geh ma :pint: