Domino 9 und frühere Versionen > ND9: Entwicklung

FindFirstElement(RTELEM_TYPE_TABLE)

(1/6) > >>

bredemeier:
Hallo,

ich lese jetzt schon seit 5 Tagen, finde aber keine Lösung oder verstehe das Problem nicht.

Es wird eine Tabelle in ein Richtext-Feld programmatisch erstellt.
Öffnet man das Dokument, sieht alles aus, wie es soll. Nun will ich die Tabelle im backend auslesen und finde mit FindFirstElement(RTELEM_TYPE_TABLE) die Tabelle und kann auch die Tabelle ansprechen. Wenn ich aber das Dokument einmal im frontend ohne zu bearbeiten einmal abgespeichert habe, sieht die Tabelle an der gleichen Stelle immer noch gleich aus, aber mit FindFirstElement(RTELEM_TYPE_TABLE) kann ich die Tabelle nicht mehr finden.

Der Unterschied ist, dass das Feld nach dem Speichern Seq Num: 2 und Field Flags: (ist leer) vor dem Speichern Field Flags: SIGN SEAL

Kann mir bitte jemand sagen, woran es liegen kann?

Gruß, Volker

jBubbleBoy:
Ist vielleicht beim Richtext die Eigenschaft "Inhalt als HTML und MIME speichern" aktiviert?

bredemeier:
Hallo Erik,

danke, dass du dir die Zeit genommen hast, zu antworten. Aber nein, das ist nicht aktiviert.

So lange das Dokument nicht bearbeitet wird, kann ich die Tabelle per Script auslesen, aber nach dem Speichern (obwohl das Feld ein computed Feld ist und nur auf sich selbst verweist) kann ich die Tabelle nicht mehr erreichen. Komischerweise ist die "Byte"-Größe des Richtext Feldes nach dem Speichern des Dokumentes ca. 10% kleiner. Optisch erkenne ich keinen Unterschied vor und nach dem Speichern im Frontend.

Ich hatte schon einmal einen Threat eines anderen Teilnehmers aus 2009 versucht zu reaktivieren, wo der Autor auch keine Antwort auf dieses Problem bekommen hat. Da hat Tode mir leider auch keine Hilfe gegeben, sondern mich lediglich gefragt, ob ich wirklich einen 10Jahre altes Thema wieder ausgrabe. Vielleicht ist das Problem ja auch zu trivial.

Gruß, Volker

jBubbleBoy:
Hallo Volker,

du berechnest also eine Tabelle in ein auf sich selbst zeigendes RT-Feld. Hier würde ich neben der Tabelle ein Feld mit den Tabellendaten erzeugen.

Tode wird Dir dafür bestimmt ein Bier in der Bar ausgeben, wenn Du ihn triffst ;)

bredemeier:
Ein schönes Dunkles ist immer lecker  ;D

Ich erzeuge im Backend eine Tabelle in einem Richtext Feld in einem neuen Dokument. Öffne ich das Dokument im Bearbeitungsmodus und schließe es wieder ohne zu speichern, kann ich die Tabelle auslesen. Füge ich aber in irgend einem anderen Feld ein Zeichen hinzu und speichere das Dokument, findet FindFirstElement(RTELEM_TYPE_TABLE) die Tabelle nicht mehr.

In diesem Fall ist dann - rtnav.FindFirstElement(RTELEM_TYPE_TABLE) = False

Somit kann ich dann mit:
Set rtt = rtnav.GetFirstElement(RTELEM_TYPE_Table)
Messagebox "Column count = " & rtt.ColumnCount & Chr(13) & "Row count = " & rtt.RowCount,, "Table "
 - die Tabelle nicht mehr erreichen (Error)

Ich habe das Feld normalerweise als bearbeitbar. Obwohl in der Tabelle nicht gearbeitet werden soll. Das Problem ist das Gleiche. Erst später habe ich es als computed eingestellt, weil ich dachte, dass dann keine "äußere" Änderungen in die Tabelle kommen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln