Domino 9 und frühere Versionen > ND6: Entwicklung

rich text eingabevalidierung

<< < (2/3) > >>

Semeaphoros:
Zugriff auf das in-memory-backend-doc ist nicht das Problem, das Tode hier meint, es ist die Frage, wie aktuell das Backend-Doc ist, solange nicht gespeichert wurde.

HarryB:

--- Zitat von: Semeaphoros am 19.08.04 - 10:36:09 ---Zugriff auf das in-memory-backend-doc ist nicht das Problem, das Tode hier meint, es ist die Frage, wie aktuell das Backend-Doc ist, solange nicht gespeichert wurde.

--- Ende Zitat ---

Du meinst, es ist ein Unterschied ob ich von vorn (Frontend) oder von hinten (Backend) auf dieselben Speicherzellen im Speicher zugreife? Ich meine, das sollte kein Unterschied sein.

Angenommen, ich habe Zugriff auf ein bereits gespeichertes Dokument per uidoc, welches auch aktuell geändert wurde, wobei die Änderungen nicht gespeichert wurden. Wenn ich jetzt den Zugriff über die Backend Klasse per uidoc.Document vornehme, habe ich dann im Backend die Daten des noch nicht gespeicherten, im Speicher befindlichen Dokumentes oder die Daten des (veralteten) Dokumentes auf der Festplatte?

Viele Grüße
Harry

Semeaphoros:
Nö, das sind nicht dieselben Speicherzellen, die Sache ist hochkompliziert.

Tode:
@HarryB:

Wenn es sich um Richtext-Inhalte handelt, hast Du TASTSÄCHLICH die Inhalte des zuletzt gespeicherten (auf Platte befindlichen) Dokumentes und NICHT die Inhalte dessen, was Du gerade auf dem Screen siehst.

Alle anderen Felder werden wohl in Echtzeit auch im Backenddokument hintlerget, bei Richtextfeldern geht das NICHT.

Es hibt deshalb seit R5 einen Befehl, der da lautet uidoc.Refresh( [ IncludeRichTextItems ] )

Der holt tatsächlich die Inhalte des Frontends auch für Richtextfelder ins Backend... Der Befehl hat nur einen klitzekleinen Schönheitsfehler:
Er speichert das Dokument ab...

Mach mal folgendes: schreib mal in ein Querysave einer Testmaske (nur ein RT-Item ) folgende zwei Zeilen:

Call source.Refresh( True )
Continue = False

und Du wirst feststellen, dass die Änderungen, die Du machst TROTZDEM gespeichert werden...
Für eine Validierung ist das refresh = True also vollkommen sinnlos.

... zumindest war das bis vor kurzem noch so... ich habe das gerade in 6.5.2 getestet: DIE FUNKTION KLAPPT ENDLICH ! Ich fasse es nicht...
Kommando zurück... ich behaupte das Gegenteil... muss jetzt doch mal in den Releasenotes stöbern und schauen, ab welcher Version das refresh das Dokument nicht mehr implizit speichert...

Gruß
Tode

Semeaphoros:
Wenn ich mich richtig erinnere, war die Methode schon längere Zeit da, hatte aber einen kritischen Bug drin, den die lieben Kollegen@Iris lange nicht beheben konnten :(

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln