Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: stitze am 14.03.06 - 08:14:46

Titel: Referenzieren von bestehenden RTI Feldern
Beitrag von: stitze am 14.03.06 - 08:14:46
Morgen liebes Forum,

ich hab ein Problem. Ich möchte ein bereits existierendes RichTextItem Feld referenzieren in LS.

Wenn ich das nun über

Code
Dim rti = New NotesRichTextItem( doc, "Name" ) 

mache, erstellt er immer ein neues RTI Feld. Okay so stehts auch in der Hilfe.

Zitat
New creates a rich text item on the document, with the name you specify.

Eigentlich habe ich immer gedacht, wenn das Feld schon existiert, referenziert er das und erstellt ein kein neues. Okay scheint nicht so zu sein.

Nun steht weiter in der Hilfe, dass man auf ein existieredes Feld zugreifen möchte, die GetFirstItem Methode von Document benutzen soll.

Zitat
To access an existing NotesRichTextItem object, use the GetFirstItem method in NotesDocument.

Ich habe dies dann so realisiert

Code
Dim rti As NotesRichTextItem
Dim item As NotesItem

Set item = doc.GetFirstItem( "Name" )

If item Is Nothing Then
   Set rtf = New NotesRichTextItem( doc, "Name" )
Else
   Set rti = item
End If

Leider funktioniert das auch nicht, dann kann ich nicht auf die Eigentschaften von RTI zugreifen, z.B. auf CreateNavigator.

Kennt jemand die Lösung für mein Problem und erkennt was ich falsch mache.

Mfg

Sebastian
Titel: Re: Referenzieren von bestehenden RTI Feldern
Beitrag von: Axel am 14.03.06 - 08:24:12
Ein Blick in die Designer-Hilfe wirkt oft Wunder. Da sind viele viele Beispiele drin wie's gemacht wird.

Zum Beispiel so:

Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem

Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  Call rtitem.AppendText( "Add text to the rich text item" )
  Call rtitem.AddNewLine( 1 )
  Call rtitem.AppendText("Add more text to rich text item")
  Call doc.Save( False, True )
End If

Axel
Titel: Re: Referenzieren von bestehenden RTI Feldern
Beitrag von: Glombi am 14.03.06 - 08:25:09
So:

Dim rti As NotesRichTextItem
Set rti= doc.GetFirstItem( "Name" )

If rti Is Nothing Then
   Set rtf = New NotesRichTextItem( doc, "Name" )
End If

Andreas

Titel: Re: Referenzieren von bestehenden RTI Feldern
Beitrag von: stitze am 14.03.06 - 08:46:03
Danke, also manchmal zweile ich echt an meinem Verstand  ???

So funktioniert das aber, schönen Tag noch,

Sebastian
Titel: Re: Referenzieren von bestehenden RTI Feldern
Beitrag von: Tode am 14.03.06 - 10:38:13
jemand sollte dem armen Kerl noch sagen, dass er mit dieser Methode immer den zuletzt gespeicherten Stand seines RT- Items bekommt. Ist das Dokument noch gar nicht gespeichert, sind fast alle Properties des RT- Items leer... nur so nebenbei erwähnt, weil das ist nämlich (Kristallkugel bemüh) die nächste Frage, die er stellen wird.

Gruß
Tode