Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: DatenDuck am 09.07.04 - 14:43:10

Titel: Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 09.07.04 - 14:43:10
Hallo Leute,

ich hänge folgendermaßen eine Datei ein ein RTF Feld:
Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uiworksp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject

Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Set uidoc = uiworksp.CurrentDocument
Set rtitem = New NotesRichTextItem(doc, "Anhang")
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, "", "c:\test.txt")
Mein Problem ist jetzt, dass ich direkt nach dem Anhängen die Datei nicht in dem Feld sehe... Erst wenn ich das Dokument neu öffne hängt die Datei in dem Feld

Es folgt im code,
Code
Call doc.Save( True, True )
und ich habe es noch mit
Code
Call uiworksp.ReloadWindow
Call uidoc.Refresh(True)
Call rtitem.Update
Call uidoc.Reload
versucht (einzeln natürlich  ;)), aber es ändert nix...
Was mache ich falsch?
Wie gesagt, ich würde die angehängte Datei gerne direkt nach dem Anhängen sehen und nicht erst nach erneutem Öffnen des Dokuments...

Vielen Dank schonmal für Tipps sowas großes kanns ja nicht mehr sein an dem ich hänge oder? ;)

Bis dann.
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: koehlerbv am 09.07.04 - 14:45:16
Dies ist aber ein Faktum, auf dass Du da gestossen bist: Erst nach dem Speichern und erneuten Öffnen hast Du im FrontEnd Zugriff auf richttext items.

Bernhard
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 09.07.04 - 14:50:52
Naja aber ich habe hier eine Anwendung die das mit 3 Agenten macht...
OK, da ist es Formelsprache, aber die Dateien werden in ein Richtextfeld geklinkt und sind sofort sichtbar...
Frag mich bitte nicht wie das genau abläuft dabei, aber es geht scheinbar irgendwie ???
Liegt das daran, dass ich halt Scripte und nicht Formelspreche?
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: koehlerbv am 09.07.04 - 14:58:28
Ja. Hier greift die strenge Trennung von Front- und Backend der LS-Klassen. Wenn Du tiefer drüber nachdenkst, wirst Du sogar den Sinn dahinter erkennen. Wünschenswert wäre auf jeden Fall eine Erweiterung der NotesUIDocument Class ...

Bernhard
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 09.07.04 - 15:09:43
Naja eine Trennung von Frontend und Backend Klassen ist klar, aber macht es einen Unterschieb ob Formelsprache oder Lotusscript? Ich habe bis jetzt noch fast nichts mit Formelsprache gemacht, daher kenn ich mich damit garnicht aus aber ich vermute, dass auch da front und backend getrennt ist (oder läuft dass da wieder ganz anders)?!
Mal ganz dumm gefragt: Was passiert denn wenn man eine Datei über die nette Büroklammer an ein Feld anhängt? Da sieht man die Sachen ja auch sofort?

Oh äh... gerade ist mir was durch den Kopf gegangen...
Meintest Du vorher etwa, dass nur Funktionen aus 'ner Backendklasse das Dokument richtig updaten können und die Frontendklasse nicht (also bei geöffnetem Dokument?)?
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: koehlerbv am 09.07.04 - 15:19:50
Die Sache mit der Büroklammer läuft im FrontEnd (und ist somit auch über @Command verfügbar) und hat leider keine LS-Klassen-Entsprechung. Es gibt allerdings auch keine @function (was Backend wäre) zum attachen.

Zitat
Meintest Du vorher etwa, dass nur Funktionen aus 'ner Backendklasse das Dokument richtig updaten können und die Frontendklasse nicht (also bei geöffnetem Dokument?)?
Im Backend wird die Änderung richtig hart auf der Platte gemacht (NotesDocument.Save vorausgesetzt). Im FrontEnd siehst Du nur erstmal die Änderungen am Monitor. Du kannst dort ja auch ohne weiteres per Copy und Paste ein Bild (oder Attachment) sofort sichtbar einfügen.
Eine Änderung im Backend (insbesondere bei RTFs) siehst Du jedoch erst, wenn Du das Dokument im FrontEnd wieder lädst.

Wie gesagt: Ein NotesUIDocument.Attach (filename$) hätte schon was ;-)

Bernhard
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 09.07.04 - 15:37:54
LOL naja ich merke, dass Bewegungsmangel auch den Muskel Gehirn erschlaffen lässt..
Bin nämlich gerade seit längerem mal wieder dazu gekommen aufzustehen und ein paar Schritte durch die Firma zu laufen... Als dann endlich mal wieder ein paar ml frisches Blut im Kopf ankamen und ich einen kurzen Blick auf mein ausgedrucktes Klassenmodell geworfen habe, ist es mir wie Schuppen von den Augen gefallen...
Bildlich dargestellt, klinkt die Funtkion die Datei in das Feld, welche durch einen Fetten schwarzen Balken von den Frontend Kollegen getrennt ist... Dadurch ist mir ein-/aufgefallen, das ein refresh in dieser Stuation gleich einem neu öffnen des Dokuments kommt...

Naja und aus dieser Sicht bin ich einerseits glücklich es gecheckt zu haben und andererseits geselle ich mich zu Dir und schmachte nach einer Frontend Version der attacherei nach ;)
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 12.07.04 - 10:26:31
Jetzt hab ich dann leider dochnoch 'ne kleine Nachfrage, die ich eigentlich nur mit Ja oder Nein beantwortet bräuchte ;)

Wenn schon das "echtzeit Anhängen" so nicht möglich ist, ist es dann theoretisch möglich, sozusagen im Hintergrund ein neues Dokument zu erstellen, die gewünschte Datei anzuhängen und dann erst das fertige Dokument  zu öffnen?
Dann müsste der Anhang ja direkt sichtbar sein?!
Das müsste doch gehen oder?
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: koehlerbv am 12.07.04 - 10:32:30
Das ist nicht nur theoretisch, sondern auch praktisch möglich.

HTH,
Bernhard
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 12.07.04 - 10:55:04
Na dann fang ich mal an zu basteln  ;D
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: koehlerbv am 12.07.04 - 10:56:46
Wichtig ist, dass das Dokument gespeichert ist, bevor Du es mit NotesUIWorkspace.EditDocument ins Frontend holst.

HTH,
Bernhard
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: DatenDuck am 12.07.04 - 13:42:55
Auch wenn diese ganze "Anwendung" vielleicht eher ... naja lächerlich im Umfang ist, machts mich doch arg froh, zu sehen wie ich mir erfolgreich meinen Weg durch Klassen, Funktionen, Objekte, Eigenschaften und Methoden bahne*....
Danke für all die Tipps!

Bin jetzt unter Anderem in der Lage ein neues Dokument mit korrektem Anhang zu erzeugen... *tada*
Auf gehts zur nächsten Stufe...
Anhang aus anderem Dokument in anderer Datenbank "saugen", zwischenspeichern und anstatt meinem tollen Testfile an das neue Dokument hängen...

Wenn mir sowas Schritt für Schritt gelingt, steigert das sehr meinen Spass an der Freude  ;D
Einziges Problem... Meine TestDB wird langsam unübersichtlich von Feldern, Masken, Tabellen, Buttons usw...  :o



*und das obwohl ich ähnlich viel über Programmierkenntnisse verfüge, wie mein Katze über Quantenphysik..
Titel: Re:Richtextfeld aktualsiert sich nicht
Beitrag von: Semeaphoros am 12.07.04 - 13:44:50
Die Katze weiss nicht nur etwas über Quantenphysik, nein noch viel mehr, sie praktiziert sie ......  ;D