Autor Thema: Collection wieder leeren  (Gelesen 2138 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Collection wieder leeren
« am: 30.01.03 - 10:59:34 »
Hallo Leute,

Ich habe mehrere Vorgänge die auf Collections
von ausgewählten Dokumenten zugreift.
Wenn der User aber nicht den Ordner wechselt, bleiben
die alten Dokumente in der Collection erhalten.

Wie löscht man nach Gebrauch eine Collection wieder ?

Ciao

Don Pasquale

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #1 am: 30.01.03 - 11:05:54 »
@Don Pasquale,
Du brauchst nur ein collection.FTSearch() durchführen, mit dem Du nach einem Wert suchst, den es unmöglich geben kann!
( such doch zum Beispiel nach dem String "Stiefelchen & Kompasskalle")

Dann fliegen ja alle Docs, die diesen Text nicht enthalten, raus.
Und das dürften in diesem Falle alle sein.

Gruss
Thomas
+++To be human is more important than to be important!+++

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Collection wieder leeren
« Antwort #2 am: 30.01.03 - 11:33:32 »
@Thomator:

Interessante Idee,
muss ich mal ausprobieren.
Wieviel zeit verbraucht dass denn, wenn die Collection vorher sehr gross
war ?

Ciao

Don Pasquale

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #3 am: 30.01.03 - 11:37:03 »
@Don Pasquale
ich glaube, das kommt auf die Textmenge in den Dokumenten an, ich habs bei sehr grossen Collections aber noch nicht versucht...

Gruss
Thomas
+++To be human is more important than to be important!+++

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Collection wieder leeren
« Antwort #4 am: 30.01.03 - 11:47:10 »
@Thomator
warum die Performance in den Keller ziehen ?

@Don
ein einfaches Set collection = Nothing  tut es auch



cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #5 am: 30.01.03 - 11:53:02 »
@Performance
Du hast eben Deinen Namen nicht ganz umsonst... ;D

Wenns so einfach geht, is ja super.
Da muss ich jetzt mal schnell bei mir auch ein paar Änderungen vornehmen...

Grüße und Danksagungen
Thomas
+++To be human is more important than to be important!+++

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Collection wieder leeren
« Antwort #6 am: 30.01.03 - 12:14:35 »
Performance : Der Name ist Programm


Wir danken recht herzlich
und sind begeistert !


Ciao

Don Pasquale

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #7 am: 30.01.03 - 13:18:17 »
@Performance
der Spaß funktioniert bei mir nich! Guck mal:

Set nav = view.CreateViewNav
Set NVECol = Nothing
Set NVE = nav.GetFirst

und dann
   Set NVE = nav.GetNext(NVE)
                NVECol.AddEntry(NVE)

Wenn das funktioniert hätte, wär schön, aber NVECol wird nicht initialisiert. Folglich kann auch das AddEntry nicht funken...
Siehs´t Du einen Fehler?
Thomas

+++To be human is more important than to be important!+++

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Collection wieder leeren
« Antwort #8 am: 30.01.03 - 13:26:15 »
Set NVECol = Nothing


erst deklarieren dann initialisieren - das hier ist kein C++ also forward Deklarationen.

cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #9 am: 30.01.03 - 14:02:02 »
@Performance
Hab ich doch, 4872 Quellcodezeilen weiter oben steht Dim NVECol as NotesViewEntryCollection

Gruss
Thomas
+++To be human is more important than to be important!+++

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Collection wieder leeren
« Antwort #10 am: 30.01.03 - 15:12:16 »
@Thomator

mit  set object = Nothing  wird das Objekt im Speicher "zerstört" bzw. das Programm kennt es nicht mehr.

also um ein Entry in die EntryCollection einzufügen muss das Objekt im Speicher vorhanden sein.
- du hast es sicher irgendwo in der x-ten Zeile initialisiert
    Set NVECol = view.GetAllEntriesByKey( "Hello again", False)
jetzt kannst du dem Objekt was hintzfügen mit
    NVECol.AddEntry(Entry)
- wenn das Objekt nicht mehr gebraucht wird löst du es wieder vom Programm scope
   Set NVECol = Nothing
- bei einem erneuten Gebrauch muss es wieder initialisert werden mit einem search oder get allentries


have a nice day
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Collection wieder leeren
« Antwort #11 am: 31.01.03 - 07:19:00 »
Hallo und guten Morgen,
@Performance:
dacht ich mir schon, also ist für das Erzeugen einer leeren Collection, mit der man dann auch arbeiten kann, doch notwendig, erst mal irgendwas reinzulesen und dann mit FTSearch oder so die Collection wieder zu leeren. Oder ist es aus Performance-Gründen  ;D besser, mit dem GetAllEntriesByKey("nicht vorhandener Wert", False) zu arbeiten? Hast Du da eine Ahnung?

cu
Thomas
+++To be human is more important than to be important!+++

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Collection wieder leeren
« Antwort #12 am: 31.01.03 - 08:25:46 »
aus performance Gründen ist es schneller eine collection mit einem set nothing aus dem Speicher zu kicken als mit einer erneuten Suche in der view zu operieren.


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz