HasEmbedded-Property liefert falschen Wert

  • Hallo Experten,


    ich hab eine ganz wunderliche Sache, aber vielleicht kennt Ihr das Problem oder könnte die Verwunderung aufklären:


    Folgender Code:



    Bei Dokumenten die keine eingebetteten Objekte (es geht mir um die Anhänge) haben, fällt der Code mit einem Type-Mismatch in der Forall-Zeile auf die Nase.
    Bis dahin sollte er aber eigentlich gar nicht mehr kommen, da doc.HasEmbedded = false ist.


    Schaue ich mir das ganze im Debugger an stelle ich folgendes fest:
    Wenn ich mir die Properties des doc-Objekts im Debugger _nicht_ angeschaut habe, dann wird 'dummy' mit true befüllt. <-- was falsch ist.
    Schaue ich mir zuerst die Properties des doc-Objekts an und lasse dann den Code erst bis zur Zeile 'dummy = doc.HasEmbedded
    ' bzw. zur nachfolgenden IF-Anweisung weiterlaufen, dann wird HasEmbedded auch korrekt mir 'false' verarbeitet.


    Es scheint also abhängig davon zu sein, ob ich mir den Wert von doc.Embedded vorher schonmal im Debugger angeschaut habe. Wenn nicht, wird fäschlicherweise "true" geliefert.


    Hab ich was grundsätzliches übersehen?
    Gibt es dort ein bekanntes Problem?


    Nachtrag: Das Problem scheint nicht grundsätzlich aufzutreten, sondern nur bei vereinzelten Dokumenten (denen ich aber keine Besonderheit ansehen kann).

  • Attachments können sowohl am Dokument wie auch an einem beliebigen RichTextItem hängen.


    Du gehst davon aus, daß alle Anhänge am RichTextfeld Body hängen.
    Und bei den Dokumenten wo das eben nicht der Fall ist fällt dein Script auf die Nase

  • Ok, ist sicherlich richtig und habe ich nicht ausreichend berücksichtigt. Das erklärt aber nicht das beschriebene Verhalten im Zusammenspiel mit dem Debugger, oder?


    Ich möchte eigentlich nur die Anzahl und Größe aller Attachments in einem Memo-Dokument in erfahrung bringen.


    Wie prüfe ich denn für ein NotesRichTextItem ob es überhaupt Embedded Elements hat? Dort gibt es keine HasEmbedded-Property.


    Ich hab auch versucht über einen RT-Navigator an die Attachments dran zu kommen:


    Code
    Set rtitem = doc.GetFirstItem("Body")
    		Set nav = rtitem.CreateNavigator
    		If nav.GetFirstElement(8) Then....


    Leider ebenso erfolglos, da das "nav"-Objekt leer bleibt.