Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: wuwu am 28.03.06 - 15:47:13

Titel: Agent soll Dokumente aus der Ansicht löschen!
Beitrag von: wuwu am 28.03.06 - 15:47:13
Hallo,

ich probiere schon den ganzen Tag rum, komme aber leider nicht drauf warum der Agent nicht alle Dokumente aus der Anischt löscht!

Mein Code:
Else
      While Not (doc Is Nothing)      
         Set doc_temp = view.GetNextDocument(doc)
         Dim count1 As Variant
         count1 = count1 + 1 ' Counter
         Call doc.Remove(True)
         Set doc = doc_temp   
      Wend         

Er löscht mir aus der Ansicht immer nur Dokument 1, 2, 4, 6, 8, 10 usw.
Dokument 3, 5, 7, usw. bleibt stehen!

Kann mir es leider nicht erklären!

Mfg Horst
Titel: Re: Agent soll Dokumente aus der Ansicht löschen!
Beitrag von: ascabg am 28.03.06 - 15:52:43
Hi,

Schalte doch mal die automatische Aktualisierung der Ansicht aus.

view.AutoUpdate = False

eine andere variante waere auch

veCol = NotesViewEntryCollection

Code
Dim veCol = view.AllEntries
If Not veCol Is Nothing Then
  Call veCol.RemoveAll(True)
End If

Andreas
Titel: Re: Agent soll Dokumente aus der Ansicht löschen!
Beitrag von: wuwu am 28.03.06 - 15:57:57
Hallo Andreas,

Danke für die schnelle und RICHTIGE Lösung!

Warum passiert das ganze, gibt es da eine Erklärung?

view.AutoUpdate=False -> ist das die Einstellung bei der Ansicht "Probeler"?

Mfg Horst
Titel: Re: Agent soll Dokumente aus der Ansicht löschen!
Beitrag von: Tode am 28.03.06 - 16:52:52
das hat mit dem Propeller nix zu tun.

Du sagst nur Deinem view- Objekt, dass es Änderungen im Hintergrund nicht zu interessieren haben. Deine "doc.Remove", die sich ja direkt auf den View- Index auswirken bekommt das Script- Objekt nicht mit. Und damit läuft auch Dein Script schön durch.

setzt Du das flag nicht, dann wird mit jedem Remove dein view- Objekt aktualisiert, was zu dem von Dir beobachteten Ergebnis führt (grob gesagt: Dein doc_temp zeigt aufs 2. Dokument in der view. Du entfernst das 1. Dokument, doc_temp wird das neue erste Document. getNextDocument geht aber von nr 2 aus und liefert Dir dann das 3. Dokument...)

kompliziert, ist aber so. ein view.Autoupdate = False hat KEINE Auswirkungen auf Deine "physische" Ansicht.

HTH
Tode