Autor Thema: RichTextItem: Method is not available Fehler ???  (Gelesen 3634 mal)

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Hallo,

ich versuche in einem RichText ein anderes RichText einzufügen. Das ganze Funktioniert solange ich ohne Schnickschnack ein RT an das andere anhänge. Erzeuge ich jedoch eine Tabelle (NotesRichTextTable) und versuche nun das RichTextItem dort einzufügen, dann kommt die Fehlermeldung: Method is not available.

...
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)   
Call rt.BeginInsert(rtnav)
Call rt.AppendText( " " )
If doc.HasItem("Body") Then
   Set importRT = doc.GetFirstItem("Body")
End If
If dxlrt.Type = RICHTEXT Then
        Call rt.AppendRTItem( importRT )             <= hier KAPUTT: Füge ich Text ein, dann kein Problem
end if
...

Kann mit bitte jemand helfen ?
Gruss,
Manuel

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: RichTextItem: Method is not available Fehler ???
« Antwort #1 am: 17.01.06 - 10:23:55 »
Meines Wissens kannst du in eine Tabelle nur Text einfügen und kein weiteres Feld.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: RichTextItem: Method is not available Fehler ???
« Antwort #2 am: 17.01.06 - 10:48:05 »
... im Objekt NotesRichTextTable gibt es keine Methode .AppendRTItem()...
Eben wie es die Fehlermeldung korrekt benennt...

Toni
Grüßle Toni :)

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #3 am: 17.01.06 - 11:00:43 »
Hi,

das rt in dem Beispiel ist das NotesRichTextItem.

hier nochmal das ganze Beispiel. (habe nicht alle Deklarationen hier eingebracht)

   Dim rt As NotesRichTextItem         
   Dim rtImport As NotesRichTextItem         
   Dim doc As NotesDocument      
          
   Dim rtnav As NotesRichTextNavigator
   Dim rtt As NotesRichTextTable
   
   Set rtnav = rt.CreateNavigator()
   Set rtt = rtnav.GetFirstElement(RTELEM_TYPE_TABLE)
   Call rtnav.GetFirstElement(RTELEM_TYPE_TABLECELL)
   Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
   
   Call rt.BeginInsert(rtnav)
   
   Set doc = db.GetDocumentByUNID("DA3479C0D72E5DB6C12570F900345B1E")
   If doc.HasItem("Body") Then
      Set rtimport = doc.GetFirstItem("Body")
   End If
   If rtimport.Type = RICHTEXT Then
      'Call rt.AppendRTItem( rtimport )           'geht nicht
      Call rt.AppendText("Hier bin ich")           'geht
   End If
   Call rt.EndInsert
   
   Call doc.Save(True,False)
   

Das beispiel liefert in der ersten Zelle den Text  "hier bin ich".
Importiere ich jedoch den Inhalt des rtimport RichtText-Feldes kommt die Nachricht:
Method is not available

es wäre super wenn jemand die Ursache kennt.
Gruss,
Manuel,

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: RichTextItem: Method is not available Fehler ???
« Antwort #4 am: 17.01.06 - 13:49:43 »
... erweitere die Validierung des Richtextfeldes mal um die Validierung des rt-Objektes mit:

Code
If rtimport.Type = 1 And rt.Type = 1 Then

Eventuell ist das Richtext-Feld nur ein einfaches Textfeld - könnte sein...

Toni
Grüßle Toni :)

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: RichTextItem: Method is not available Fehler ???
« Antwort #5 am: 17.01.06 - 14:38:27 »
Aus der Desingerhilfe:
The insertion occurs at the end of the item.

Denke nicht das Du den Inhalt in die Tabelle bekommst.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #6 am: 17.01.06 - 15:14:47 »
Hallo,

@all: danke für die Antworten.
@Toni: If rtimport.Type = 1 And rt.Type = 1 Then hab ich eingebaut und es ist ein RichText.

Desweiteren steht in der Hilfe:

By default the insertion occurs at the end of the item. You can change the insertion point with BeginInsert and EndInsert.

Daher nehme ich an, das es auch so gehen müsste.

Gruss,
Manuel

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: RichTextItem: Method is not available Fehler ???
« Antwort #7 am: 17.01.06 - 15:22:47 »
Tatsächlich. In der R7 Hilfe ist das nicht mehr drin. komisch :-)

Wahrscheinlich ein Bug....
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #8 am: 17.01.06 - 16:06:44 »
Hallo @all,

ich glaube auch. Nun habe ich lange genug ausprobiert.

Danke

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: RichTextItem: Method is not available Fehler ???
« Antwort #9 am: 18.01.06 - 08:49:49 »
Habe gerade die selbe Erfahrung gemacht, siehe http://atnotes.de/index.php?topic=28256.0

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #10 am: 18.01.06 - 11:22:53 »
Hallo,

ich habe nun das Problem mit DXL gelöst. Also ich erstelle mit DXL ein Dokument mit Tabelle und mit einem modellierten Button darin. Es funktionierte nach langem rumprobieren. Gibt es eigentlich zu den DXL-Tags und der Syntaks eine Doku ?

Eine weitere Frage (eher ein Problem) zu DXL:

Wenn ich ein DXL import aus einem file.dxl auf Platte hole und importiere funktioniert es einwandfrei. Nun habe ich das selbe File als Attachment in einem Dok. Wenn ich das Attachment löse und dann über DXL importiere bekomme ich den super hässlichen Error "DXL importer operation failed"

Was passiert da ? Es sind doch die gleichen Files, oder nicht ?

Gruss,
Manuel

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: RichTextItem: Method is not available Fehler ???
« Antwort #11 am: 18.01.06 - 11:25:45 »
Eventuell kannst du mal den Code posten, mit dem du das DXL löst und dann importierst. Aber vorsicht mit DXL. DXL kann viel, aber nicht alles, da einige Designporperties nicht im DXL implementiert sind. Deshalb bin ich auch so sauer, weil ich das selbe Problem wie du habe und jetzt auch auf DXL umgestiegen bin und plötzlich sehen meine Tabellen nicht mehr so aus wie ich sie haben will.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #12 am: 18.01.06 - 12:26:38 »
Hallo,

Ich habe bemerkt das das Attachment nicht alle Tags enthällt. Es ist hinten abgeschnitten. Es liegt also an dem Attachen.

hier ist der Code:
   
        Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As Notesdocument
   Dim kp As NotesDocument
   Dim attachObj As NotesEmbeddedObject
   Dim rtAkteFile As NotesRichTextItem
   
   Dim DxlDocumentCol As NotesDocumentCollection
   Dim filename As String
   
   Set db = s.CurrentDatabase
   Set col = db.UnprocessedDocuments
   Set doc = col.GetFirstDocument
   Set kp = doc   
   Set rtAkteFile = New NotesRichTextItem(kp, "files")
   
   Set DxlDocumentCol = col
   If Lcase(doc.Form(0)) = "kp" Then
      If canShut(doc) Then
         Call createDXLCollection(doc , DxlDocumentCol)
      End If
   End If
   
   REM Open xml file named after current database
   Dim stream As NotesStream
   Set stream = s.CreateStream
   filename$ = "C:\temp\dXLcoll.xml"
   If Not stream.Open(filename$) Then
      Messagebox "Cannot open " & filename$,, "Error"
      Exit Function
   End If
   Call stream.Truncate
   
   
         REM Export note collection as DXL
   Dim exporter As NotesDXLExporter
   Set exporter = s.CreateDXLExporter(DxlDocumentCol)
   Call exporter.SetOutput(stream)
   Call exporter.Process
   
'hier habe ich auch einen Sleep reingebracht, da ich dachte das Lesen des Attachments könnte beginnen vor dem Ende des Schreibens des Files, aber das brachte auch nichts. Fakt ist, das mein dxl-File nicht Komplett ist

      Set attachObj= rtAkteFile.EmbedObject( EMBED_ATTACHMENT ,"", "C:\temp\dXLcoll.xml" )

   Call kp.Save(1,1)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: RichTextItem: Method is not available Fehler ???
« Antwort #13 am: 18.01.06 - 12:48:37 »
Du solltest den Notesstream closen vor dem Attachen, den sonst passiert das was du beschreibst.

Erst bei dem Closen werden vermutlich die Buffers in das File geschrieben.

Also füge stream.close ein.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jmanuel

  • Junior Mitglied
  • **
  • Beiträge: 76
Re: RichTextItem: Method is not available Fehler ???
« Antwort #14 am: 18.01.06 - 13:15:39 »
hi,

danke, daran hats gelegen !!

gruss,
Manuel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz