Domino 9 und frühere Versionen > Entwicklung
Leere NotesDocumentCollection: Wie macht Ihr das?
Glombi:
@Bernhard: Da kommen die alten Jugendsünden wieder hoch (so wie im Steinbruch ;) )
Es kommt bei dieser Problemstellung wohl auch auf den Kontext an, von wo aus die leere Collection erstellt werden soll. Es wäre interessant zu wissen, wieso und warum - am konkreten Beispiel. Dann können wir hier weiter fachsimpeln.
Andreas
Semeaphoros:
Genau Andreas, das drückt besser aus, was ich eigentlich mit meiner Grundsatzfrage ansprechen wollte.
TMC:
OK, hier ist Beispiel 1:
http://www.atnotes.de/index.php?board=5;action=display;threadid=15495
Dort finde ich es ganz praktisch, alle Dokumente, die einem bestimmten Kriterium entsprechen, erst mal in eine Doc-Collection zu holen. Geht hier sicherlich auch ohne 2. Collection.
Beispiel 2:
Man will, dass Dokumente in einer Collection sortiert sind (anhand View-Sortierung):
--- Code: --- Set view = db.GetView(CVIEWNAME)
Set coll = view.GetAllDocumentsByKey("xxyyzzxxyyzz")
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry
While Not entry Is Nothing
Set doc2 = entry.Document
If XXX Then 'xxx = irgend eine Bedingung
Call coll.AddDocument(doc2)
End If
Set entry = vc.GetNextEntry(entry)
Wend
--- Ende Code ---
Der Beispielcode steckt in einer Function, die eine entsprechende DocCollection zurückgibt.
Semeaphoros:
Ok, zu Beispiel 1:
Da würde ich eine ganz andere Strategie anwenden: statt die encrypted Documents in eine Buffer-Collection zu kopieren, würde ich dort gleich innerhalb des Selection-Laufes für jedes gefundene encrypted-doc eine Subroutine aufrufen, welche das Dokument dann sofort verarbeitet. Kein Bedarf mehr für eine Buffer-Collection
Beispiel 2 ist zu generisch, als dass man da wirklich eine Strategie zur Vermeidung der leeren Collection angeben könnte, grundsätzlich wäre dasselbe zu sagen wie oben, sprich man bearbeitet die Docs gleich während des Durchlaufs der ViewEntryCollection, das geht meistens, geht eigentlich nur dann nicht, wenn die Collection mehrfach durchlaufen werden müsste.
TMC:
Beispiel 1: Das stimmt, das geht sicher ohne BufferCollection. Hatte sich damals irgendwie so ergeben beim Coden (war für meine Übersicht gedacht, schrittweise vorzugehen).
Beispiel 2:
Dies ist hier eine Function, die von diversen Routinen aus aufgerufen wird. Da hab ich die Rückgabe "DocCollection" gewählt, weil sehr praktisch damit weiter gearbeitet werden kann. Anfangs war das Problem, dass die Collection nicht sortiert war (da ich auch teilweise dann Inhalte der Coll.-Dokumente in einem Feld darstelle, und hier musste die View-Sortier-Reihenfolge eingehalten werden). Daher wollte ich gleich von Anfang an eine sortierte Collection.
Eigentlich schade, dass es keinen New - Konstruktor der DocCollection Klasse gibt, aber dafür war das wohl ursprünglich nicht gedacht, und ist wohl eigentlich ein Mißbrauch der Collection - bezogen auf den ursprünglichen Zweck.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln