Domino 9 und frühere Versionen > ND6: Entwicklung

SaveOptions = 0 funktioniert nicht

<< < (3/6) > >>

Ork:
Hallo Toni,

danke für die frühe Mühe, doch leider vergebens. Ich habe über den Debugger das mal durchfahren lassen und sobald ich, wie schon zuvor beschrieben, Text in den Body eintrage, kommt die Speichermeldung, nachdem

--- Code: ---Call uidoc.Close(True) 'Memo wird geschlossen
--- Ende Code ---
aus dem Teil

--- Code: ---' löscht alle Einträge im E-Mail-Kopf
uidoc.FieldClear("EnterSendTo")
uidoc.FieldClear("EnterCopyTo")
uidoc.FieldClear("EnterBlindCopyTo")
uidoc.FieldClear("FaxToList")
uidoc.FieldClear("subject")

' Liest den Text aus dem Body aus
textOfBody = uidoc.FieldGetText("Body")

If Len(textOfBody) > 0 Then
Msgbox faultMessageBody,MB_OK & MB_ICONSTOP ,"Warnhinweis"
uidoc.FieldClear("Body")
doc.SaveOptions = "0" 'speichern wird nicht abgefragt
Call uidoc.Close(True) 'Memo wird geschlossen
Exit Sub
End If
--- Ende Code ---
Wenn ich jetzt deinen Rat befolge und das mit der Methode FieldSetText mache, fordert er bei mir ein Feld. Dieses habe ich dann auch erstellt. Dennoch bringt er an dieser Stelle die Speicherabfrage. Dann habe ich das Feld manuell auf "0" festgelegt: Trotzdem die Abfrage nach dem Speichern.

Ich habe keine Ahnung, woran das liegen könnte... :-:

Vielleicht hat ja noch jemand eine Idee!!??!!

Bis denne Ork

koehlerbv:
Okko, es reicht vollkommen aus, wenn man SaveOptions im Backend setzt - ich widerspreche hier ausnahmesweise mal Toni.

A-Bär: Das ganze Procedere funktioniert nicht, sowie Du in einem RTF herumhantierst (egal wie - via FrontEnd oder via Backend - bei letzterem gehen dann die Änderungen verloren).

Du musst das wirklich sauber trennen in solch einem Fall.
Ein paar Erfahrungswerte von mir:
Wurde vor Aufruf der Routine ggf. im Frontend (manuell) etwas an einem RTF geändert: Als erstes Dokument speichern.
Wird an einem UIDoc etwas via Backend geändert: Dokument (Backend) speichern, schliessen (Frontend) und wieder öffnen (Frontend).
Anders klappt das nicht und kann auch gar nicht klappen.

Bernhard

Ork:
Hallo Bernhard,

aber bei dem ersten Code, den ich veröffentlicht habe, in dem wirklich nicht viel enthalten war, passiert das selbe an der gleichen Stelle. Da muss es doch einen Grund für geben. Ausserdem, wie hänge ich denn ein Dokument an, wenn nicht über das NotesDocument?? Welche Klassen sind den überhaupt Frontend und welche für Backend: Ich glaube manchmal, dass in einigen Forumeinträgen da einiges durcheinander gewürfelt wird: NoteDocument - Frontend; NotesUIDocument - Backend??

Ciao Okko

DAU-in:
UI = UserInterface

allet, wo UI drin vorkommt, ist i.d.R. Frontend

NotesUIWorkspace <--> NotesSession
NotesUIView class <--> NotesView class

NoteasUIDocument class<--> Notesdocument class


aus deinem code:
uidoc.FieldClear("Body")  --> frontend      
doc.SaveOptions = "0" 'speichern wird nicht abgefragt  --> Backend
Call uidoc.Close(True) 'Memo wird geschlossen --> Frontend

ich sehe immer zu, dass ich in meinem Code das Zeug wirklich in Abschnitten sauber getrennt habe nach Frontend und Backend, sonst verliere ich den Überblick

grüsse

Dau-in


Ork:
Super das ist schon mal ein Anfang.

Nur selbst, wenn ich mir ein simples Beispiel raussuche, wie zum Beispiel folgendes:


--- Code: ---Sub Click(Source As Button)

' DEKLARATION
' LN - Vorgaben
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim textOfBody As String

' INITIALISIERUNG
Set uidoc = workspace.CurrentDocument


'________________________________________________________________________________
'FEHLERVORBEUGUNG

' löscht alle Einträge im E-Mail-Kopf
Call uidoc.FieldClear("EnterSendTo")
Call uidoc.FieldClear("EnterCopyTo")
Call uidoc.FieldClear("EnterBlindCopyTo")
Call uidoc.FieldClear("FaxToList")
Call uidoc.FieldClear("subject")

' Liest den Text aus dem Body aus
textOfBody = uidoc.FieldGetText("Body")

If Len(textOfBody) > 0 Then
Msgbox "Fehler - Abbruch!"
Call uidoc.FieldClear("Body")
Call uidoc.FieldsetText("SaveOptions","0")
Call uidoc.Close(True) 'Memo wird geschlossen
Exit Sub
End If

End Sub
--- Ende Code ---

Dabei habe ich in der Maske Memo ein Feld namens SaveOptions eingetragen, mit keinem Wert zum bearbeiten.

Trotzdem bekomme ich die Abfrage nach dem Speichern!

Noch irgendwelche Vorschläge...??

@Bernhard, ansonsten klappt das Programm aber ohne Probleme, ausser dieser Punkt mit den Änderungen vorm Klicken des Buttons!

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln