Domino 9 und frühere Versionen > ND6: Entwicklung
Array befüllt sich nicht richtig
(1/1)
Thobz:
Guten Morgen zusammen,
ich hab da mal ein Problem. Per Schleife möchte ich ein Array befüllen lassen.
Das Dimensioniert sich auch richtig, bzw. auf die richtige Anzahl an Positionen.
Nur leider sind nur die erste und letzte befüllt und das auch noch gleich.
Hier mal der Code, ich weiß gerade nicht weiter.
--- Code: --- Do While Not doc Is Nothing
If entry Is Nothing Then
Exit Do
End If
Set doc = entry.Document
Set dtLiefer = New NotesDateTime( doc.lieferdatum(0) )
Set dtHeute = New NotesDateTime( Now )
Set dtLiefer = New NotesDateTime( doc.lieferdatum(0) )
Set dtHeute = New NotesDateTime( Now )
If dtHeute.TimeDifference(dtLiefer) > 0 Then
If doc.AuftragErledigt(0)="0" Then
Redim Ergebnis (counter)
Filiale = Left(Nummer,4)
Ergebnis(counter)= doc.belegnr(0)
counter=counter+1
End If
End If
Set entry= vc.GetNextEntry(entry)
Loop
--- Ende Code ---
Gruß Thomas
LN4ever:
Wie wäre es denn mit einem ReDim PRESERVE ?
Gruß
Norbert
Thobz:
Hallo,
super vielen Dank. Jetzt funktioniert es.
Kannst du mir vielleicht noch sagen was genau das "Preserve" bewirkt,
in der Hilfe werde ich nicht ganz schlau daraus.
Thomas
Skorpi:
Der Zusatz bewirkt, dass der bisherige Inhalt eines Arrays bei einer Änderung erhalten bleibt. Wenn der Zusatz Preserve fehlt, dann werden alle Elemente neu initialisiert.
Noch ein kleiner Hinweis zur Performance deines Codes. Im Redbook "Performance Considerations for Domino Applications" (siehe http://www.redbooks.ibm.com/redbooks/pdfs/sg245602.pdf Seite 66) wird empfohlen die Nutzung von REDIMS zu minimieren. Besonders in Schleifen. Anstelle das Array bei jedem Durchlauf neu zu Dimensionieren, solltest du dir überlegen Blockweise vorzugehen.
Thobz:
Hallo,
vielen Dank für deine Hilfe und deinen Tipp, werde direkt mal versuchen ihn anzuwenden.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln