Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 14.07.04 - 23:04:16

Titel: Interessehalber: Backend-Doc removen wenn im UI instantiiert wurde
Beitrag von: TMC am 14.07.04 - 23:04:16
Ich hatte vorhin gerade folgende Problemstellung:

Ein Dokument ist über eine Maske geöffnet. Das Backend instantiiert man ja üblichweise hier via Frontend - weil ja das UIDoc quasi schon dasteht.

Jetzt wäre ein Button schick gewesen, der das UIDoc schließt und dann ein backenddoc.remove(false) ausführt.

Die Designerhilfe sagt dazu ganz klar:
Zitat
If you access a NotesDocument object through the Document property of NotesUIDocument, you can't delete the back-end document. If you could, the UI rendition would have no basis. You must access the document strictly through the back-end.
.

Kennt da trotzdem vielleicht wer einen Würgaround?

Ein
Call uidoc.close
Set uidoc = Nothing
vor der Ausführung des doc.remove klappt schonmal nicht.

Ich habe das Löschen jetzt über eine Ansicht realisiert. Würde mich aber interessieren ob es nicht doch einen direkten Weg im geöffneten Dok gibt (jetzt ohne Workaround via Del-Flag etc.).
Titel: Re:Interessehalber: Backend-Doc removen wenn im UI instantiiert wurde
Beitrag von: Semeaphoros am 15.07.04 - 00:05:39
Warum nicht einfach die Del aka Lösch-Taste drücken?

Anyway, wenn Du ein

set doc = uidoc.doc

machst, bist Du mit dieser Instanz des Dokumentes vom UIDoc abhängig (ist jedenfalls meine Interpretation der Hilfe). Daher nützt Dir das Schliessen des UIDoc an dieser Stelle nichts.

Obs funktioniert, weiss ich nicht, aber ich würde es mal so probieren:

set docThis = uiDoc.Document
set strUNID = doc.UniversalID
Call uiDoc.Close

delete docThis

set docThis = dbThis.GetDocumentByUNID (strUNID)

Call docThis.remove(False)


.... und ich bin gespannt, ob das was bringt.
Titel: Re:Interessehalber: Backend-Doc removen wenn im UI instantiiert wurde
Beitrag von: TMC am 15.07.04 - 22:01:32
Klar, genau so geht's, Danke Jens.
Titel: Re:Interessehalber: Backend-Doc removen wenn im UI instantiiert wurde
Beitrag von: Semeaphoros am 15.07.04 - 23:33:41
Danke für die Bestätigung, da war ich jetzt auch gespannt drauf.