Autor Thema: RichtextItem löschen und neu erstellen  (Gelesen 3103 mal)

Sebastianh

  • Gast
RichtextItem löschen und neu erstellen
« am: 26.03.09 - 14:48:56 »
Hallo,

folgendes Problem: Ich habe ein Dokument, lösche dessen Body-Item, versuche das dann neu zu erstellen (da ich den Inhalt komplett neu erstellen will), und an dieser Stelle wird mir gesagt, das Item sei noch vorhanden. Folgender Code:

Code
RichTextItem body = (RichTextItem) dokument.getFirstItem("Body");
body.remove();
dokument.save();
RichTextItem newbody = dokument.createRichTextItem("Body");

wirft diese Exception:
Code
NotesException: Rich text item Body already exists
        at lotus.domino.NotesExceptionHelper.read(Unknown Source)
        at lotus.domino.NotesExceptionHolder._read(Unknown Source)
        at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
        at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
        at lotus.domino.corba._IDocumentStub.createRichTextItem(Unknown Source)
        at lotus.domino.cso.Document.createRichTextItem(Unknown Source)

Dabei besagt die Hilfe zu RichtextItem.remove():
"Permanently deletes an item from a document."

Was mache ich diesmal falsch?

Gruß,
Sebastian

Sebastianh

  • Gast
Re: RichtextItem löschen und neu erstellen
« Antwort #1 am: 26.03.09 - 15:09:53 »
Problem gelöst:

Code
dokument.removeItem("Body");

erfüllt seinen Zweck wesentlich besser!
(auch wenn das nicht erklärt, warum RichtextItem.remove() nicht funktioniert)

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: RichtextItem löschen und neu erstellen
« Antwort #2 am: 26.03.09 - 16:48:36 »
Das von Dir beobachtete tritt vermutlich genau dann auf, wenn nicht nur ein Item "Body" existiert. In der Regel ist das der Fall, wenn der Inhalt des Items mehr als 64 kB umfasst. Du hast dann nur das erste Items dieses Namens erwischt.

IIRC entfernt NotesDocument.RemoveItem alle Vorkommen des Items mit dem angegebenen Namen.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz