Domino 9 und frühere Versionen > Entwicklung

Problem mit RenderToItem der RichTextItem-Klasse

<< < (2/5) > >>

koehlerbv:
Warum deklarierst du eigentlich prof_rt_item als Variant ? Das tut doch nun überhaupt nicht not ...

Bernhard

MadMetzger:
Habe mich nach der Designerhelp gerichtet...

Using this method to get rich text items
The compiler raises an error if you try to set the return value of GetFirstItem equal to a NotesRichTextItem object. This is because a NotesItem is not necessarily a NotesRichTextItem, and the compiler has no way of knowing whether the name$ you specify actually corresponds to a rich text item. For example:
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
'...set value of doc...   
Set rtitem = doc.GetFirstItem( "Body" ) 
'compiler complains
The solution to this problem is to declare a variant, set it equal to the return value of GetFirstItem, and then treat the variant as a NotesRichTextItem. For example:
Dim doc As NotesDocument
Dim rtitem As Variant
'...set value of doc...   
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  '...use NotesRichTextItem methods...
End If

koehlerbv:
Ich muss ehrlich zugeben, dass ich RenderToRTItem noch nie anders verwendet habe als mit neu angelegten RichTextItems. Keine Ahnung, wie sich die Methode auswirkt, wenn das Item schon vorhanden und gar belegt war.

Auch wenn das jetzt das von mir gehasste try & error ist: Probier doch mal, das
- vorhandene Item zu instantieren (pur als NotesItem),
- wenn vorhanden, ein Remove
- das RTItem als eigenes Objekt deklarieren und jetzt als New mit dem selben Namen anzulegen
- und dann RenderToRTItem.

Mit welcher Designer-Version arbeitest Du ? Stimmt da Dein Footer ?

Bernhard

MadMetzger:
Das macht leider keinen Unterschied... habe jetzt auch schon probiert, ob es daran liegt, dass es kein bearbeitbares RT-Feld ist. Jedoch Ergebnis war das gleiche...

Mein Footer stimmt nicht mehr, Designer ist 5.0.11...

P.S. Den sollte ich mal ändern...

-Michael-:
Hi,

ich hatte mich mit der Thematik auch schon mal tiefer auseinandergesetzt.


--- Zitat von: Alexis Pyromanis am 18.11.04 - 17:58:42 ---habe jetzt auch schon probiert, ob es daran liegt, dass es kein bearbeitbares RT-Feld ist. Jedoch Ergebnis war das gleiche...
--- Ende Zitat ---
Daran sollte es nicht liegen.

Auch die Deklaration des rtitem als Variant sollte keine Probleme machen.

Dein:

--- Zitat ---flag = prof_doc.rendertoitem ( prof_rt_item )
--- Ende Zitat ---
sollte so eigentlich gehen. Einen Type Mismatch hätte ich da jetzt nicht erwartet.

Wirf mal zum testen das "flag =" raus und ruf mach stattdessen einen Call:

--- Code: ---call prof_doc.rendertoitem ( prof_rt_item )
--- Ende Code ---


Ich habe unten mal eine Routine von mir drangehängt, die 1a läuft (stammt aus meiner Yet another Document Library). Diese kannst Du ja bei Dir mal testen und auch vergleichen.


Michael

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln