Domino 9 und frühere Versionen > ND8: Entwicklung

Erase in IsElement gibt "튈ǽ튈ǽ퉘ǽ؄홀Ҹ" zurück

(1/1)

daija:
Hallo,

ich habe ein berechnetes Feld (Mehrfachwerte), in welches Namen eingetragen werden (per Button).
Jetzt habe ich ein LS Button, der das Feld durchsuchen soll und den Names des aktullen Notes Users entfernen soll, sofern dieser in der Liste enthalten ist.
Wenn ich mir im Debugger den Ablauf anschaue, ist alles OK, aber im wenn ich mir dann das Ergebis anschaue, steht im Feld ein komischer Wert, die wie folgt aussieht: "튈ǽ튈ǽ퉘ǽ؄홀Ҹ"

Was ist denn hier kaputt?

Hier der LS Code:



--- Code: ---
Set nam = New NotesName(s.UserName)
Set item = doc.GetFirstItem("confirmed_worker")
anz = 0

Forall value In item.Values
teilnehmer(item.Values(anz)) = item.Values(anz)
anz = anz + 1
End Forall

If Iselement(teilnehmer(nam.Common)) Then
Erase teilnehmer(nam.Common)
End If

Call doc.ReplaceItemValue("confirmed_worker",teilnehmer)
Call doc.Save(True,False)


--- Ende Code ---

Tode:
teilnehmer ist eine Liste. Soviel ich weiss, kann man Listen nicht in Felder speichern.. das was da bei Dir im Feld landet sind wahrscheinlich Pointer- Adressen oder sonstwas... Du musst Deine Liste erst wieder in ein Array wandeln, bevor Du das einem Feld zuweisen kannst...

Oder Du schreibst den Code so um, dass gar keine Liste verwendet wird...


--- Code: ---varTeilnehmer = doc.GetItemValue("confirmed_worker")
varTeilnehmer = FullTrim( replace( varTeilnehmer , nam.Common , "" ) )
call doc.ReplaceItemValue( "confirmed_worker" , varTeilnehmer )
--- Ende Code ---

EDIT: Ich habe die Version übersehen: in R5 gab es Replace noch gar nicht...
Dann musst Du doch mit einer For- Schleife durch:

--- Code: ---Dim teilnehmerNew() as String
varTeilnehmer = doc.GetItemValue("confirmed_worker")
k = 0
For i = 0 to ubound( varTeilnehmer )
  If varTeilnehmer(i) <> nam.Common then
    redim preserve teilnehmerNew(k) as String
    teilnehmerNew(k) = varTeilnehmer(i)
    k = k + 1
  End If
Next
--- Ende Code ---

daija:
Ah' prima. Warum kompliziert wenn es auch einfach geht  :)

Vielen Dank. So klappt es viel besser!

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln