Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: jo@chim am 04.03.08 - 12:40:16

Titel: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: jo@chim am 04.03.08 - 12:40:16
Wenn ich versuche, einen Text formatiert in der Art
Code
	Set rtitem = doc.getfirstitem("MeinRTFeld" )
	Set richStyle = session.CreateRichTextStyle
	richStyle.Bold=True
	richStyle.FontSize = 10
	Call rtitem.AppendStyle(richStyle)
	Call rtitem.AppendText("Mein Text)
in ein Rich Text Feld einzufügen, wird nicht die neue Formatierung (Bold, 10 pt) übernommen, sondern die Usprungsformatierung von "Mein RTFeld" beibehalten.

Kann es sein, dass ich das Richtextfeld nicht mit doc.getfirstitem holen kann, sondern per

Code
 Dim richText As New NotesRichTextItem(doc, "MeinRTFeld")

neu anlegen muss? Was natürlich Mist wäre, da ich ja formatierten Text an ein existierendes Feld anhängen will.

Oder wo liegt mein Fehler?
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: ata am 04.03.08 - 12:50:15
... wenn ich mich richtig entsinne, wird das RichText-feld erst dann ernst genommen, wenn du es nach dem initailiseren als solches erkennst => If item.Type = 1 Then...

Versuch es mal - ich denke dann sollte es klappen

Toni
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: jo@chim am 04.03.08 - 13:11:07
Danke für Deine schnelle Antwort Toni - aber auch nach dem Initialisieren mit If rtitem.Type = 1 Then... hat das Call rtitem.AppendStyle(richStyle) keinen Effekt bei mir...
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: ata am 04.03.08 - 19:34:01
... beschreibe mir, wie du die Objekte initailisierst.

Ist das doc ein abgeleitetes uidoc?
Wenn du beschreibst, daß der Stil nicht übernommen wird - wie genau gehst du der Reihe nach vor?

Toni
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: jo@chim am 05.03.08 - 00:33:07
Ist das doc ein abgeleitetes uidoc?
Ja ich hole das per uidoc.Document

wie genau gehst du der Reihe nach vor?
Ich will den Inhalt einer Mail und deren Header-Informationen in ein existierendes und im Frontend geöffnetes Dokument importieren.
Das sieht so aus:
Code
'...
Set doc=uidoc.Document	
	Set rtitem = doc.getfirstitem("RTFeld" )
	If rtitem.Type = 1 Then
		Set richStyle = session.CreateRichTextStyle
		richStyle.Bold=True
		richStyle.FontSize = 10
		Call rtitem.AppendStyle(richStyle)
		Call rtitem.AppendText(mailheader$)
	Call rtitem.AppendRTItem( rtitem_mail )
	End If
Call uidoc.fieldsettext("SaveOptions","0")
	Call uidoc.close	
	Call doc.save(True,False)
	Call ws.EditDocument(True,doc)

Funktioniert auch alles soweit - bis auf die Stilzuweisung...
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: ata am 05.03.08 - 08:08:23
... wenn ich etwas Luft habe werde ich es mal nachstellen...

Es scheint an dem Mix zwischen Frontend und Backend zu liegen, das schafft immer Verwirrung - vor allem bei RichText. Das wäre mit einem ReOpen herauszufinden...

Toni
Titel: Re: Problem mit LS-Klasse NotesRichTextStyle
Beitrag von: jo@chim am 05.03.08 - 15:37:44
 :-: Gerade habe ich den Ablauf so geändert, dass ich statt dem rtitem.AppendRTItem die Methode RenderToRTItem( rtitem ) verwenden kann... und siehe da es funzeliert (inkl. aus dem Frontend gegriffenen doc und doc.gefirstitem). Scheint also wie und warum auch immer mit dem zweiten NotesRichTextItem in der Routine zusammenzuhängen.

Lotus Notes erinnert mich manchmal an meine bessere Hälfte - auch nach Jahren überrascht es immer noch mit neuen, unvorhergesehenen und nicht nachvollziehbaren Zickereien...