Das Skript lasse ich auch lokal in einer Kopie laufen, daher kann es kein Ressourcenproblem sein.Deine Artikel-Klasse beinhaltet zwei Notesdokumente. Wenn Du eine Liste mit 20.000 Elementen füllst, sind das 40.000 Dokumente. Unter XP sind m.W. 2 GB Arbeitsspeicher direkt adressierbar. Wenn ich mich jetzt nicht total verrechnet habe, sind 40.000 Dokumente zu 50 KB 2 GB. Das ist Dein komplett adressierbarer Arbeitsspeicher, ohne, dass irgendein anderes Programm auch nur ein einziges Bit Speicher verwenden darf. 8.5. mit Eclipse wird aber sicherlich auch das eine oder andere Byte mehr haben wollen, als 7.
Deine Artikel-Klasse beinhaltet zwei Notesdokumente. Wenn Du eine Liste mit 20.000 Elementen füllst, sind das 40.000 Dokumente. Unter XP sind m.W. 2 GB Arbeitsspeicher direkt adressierbar. Wenn ich mich jetzt nicht total verrechnet habe, sind 40.000 Dokumente zu 50 KB 2 GB. Das ist Dein komplett adressierbarer Arbeitsspeicher, ohne, dass irgendein anderes Programm auch nur ein einziges Bit Speicher verwenden darf. 8.5. mit Eclipse wird aber sicherlich auch das eine oder andere Byte mehr haben wollen, als 7.
Wenn Du mehrere dieser Listen hast und nicht nach dem Verarbeiten alles sauber aufräumst, wird der freie Platz nicht gerade üppiger. Also, ich verstehe Deine Antwort nicht ...
@Batped
Das Skript läuft ja lokal. Oder kann ich da auch den Wert einstellen ?
Du verwendest aber nicht irgendwo ein Set NotesDocument = NotesView.GetNthDocument ?Vermutlich nicht, denn das führte schon in älteren Versionen zu solchen Effekten (ich war ein Verfechter dieser Methode, bis ich Jahre später das Unheil erkannte)
Bernhard
Du verwendest aber nicht irgendwo ein Set NotesDocument = NotesView.GetNthDocument ?
Bernhard
Public Sub New(inView As NotesView, inLogFile As LogFile, profil As notesdocument)
Set logFile = inLogFile
Dim Doc As NotesDocument
Dim InstNr As String
Set Doc = inView.GetFirstDocument()
While Not (Doc Is Nothing)
Set item = Doc.GetFirstItem( "$Conflict" )
'Replizierkonflikte nicht bearbeiten
If item Is Nothing Then
InstNr = HolFeld(Doc, "KundenNr")
If Iselement(Institute(InstNr)) Then
Call Institute(InstNr).InsertLeitung(Doc, profil)
Else
Set Institute(InstNr) = New Institut(Doc, logFile, profil)
End If
End If
Set Doc = inView.GetNextDocument(Doc)
Wend
End Sub
Schalte mal inView.AutoUpdate = False
Sonst wird ständig der View Index aktualisiert ...