Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TomLudwig am 04.01.07 - 14:14:17

Titel: Refresh(True) führt zum Speicherkonflikt?
Beitrag von: TomLudwig am 04.01.07 - 14:14:17
Hallo zusammen,

ich weiß nicht was ich falsch mache...

Code
Set uidoc = uiwork.CurrentDocument
	Call uidoc.Save()				
	uidoc.EditMode = False
	Set doc = uidoc.Document 		' mark backend doc		
	noteid = doc.NoteID			' mark noteid
	unid = doc.UniversalID			' mark unid
	
	Set agent = session.CurrentDatabase.GetAgent("PrintOfferAUE")
	
	If agent.Run(noteid) = 0 Then
		uidoc.EditMode = True
		Call uidoc.Refresh(True)
	Else
		Messagebox MsgErrorAgent, 64, MsgInformation
	End If

Der Agent (JAVA) verändert im Backend das gerade geöffnete UIDoc und speichert dies dann. Um alles anzeigen zu lassen (Auch RichTextFelder) setzte ich ein Refresh(True) ab.

Leider bekomme ich nun folgende zwei Fehlermeldungen:
"Eine weitere Kopie dieses Dokuemnts wurde gespeichert, während Sie das Dokument bearbeiten. Sollen Ihre Änderungen auch als Konfliktdokument gespeichert werden?"
"Notes Fehler - Ein anderer Benutzer hat dieses Dokument zur gleichen Zeit geändert"


Natürlich hat sich das Dokument im BackEnd verändert. Deshalb möcht ichs ja auch im Frontend aktualisieren....


Danke vielmals.

P.S.: Es ist egal wie das Dokument im JavaAgenten gespeichert wird (.save(true), .save(false), usw.)
Titel: Re: Refresh(True) führt zum Speicherkonflikt?
Beitrag von: TomLudwig am 04.01.07 - 14:23:38
Nachtrag:
Wenn es möglich ist, möchte ich das Dokument nicht schließen und erneut öffnen.
Performance...
Titel: Re: Refresh(True) führt zum Speicherkonflikt?
Beitrag von: Tode am 08.01.07 - 09:43:55
Refrsh( True ) ist ein sehr "penetranter" Befehl, der im Hintergrund tatsächlich das Dokument neu speichert (nicht in allen Versionen, zwischenzeitlich war das mal anders, in aktuellen Versionen ist es wieder so), um die Änderungen sichtbar zu machen.

Du kommst also um ein Reopen NICHT drumrum. No Chance...

Tode
Titel: Re: Refresh(True) führt zum Speicherkonflikt?
Beitrag von: smoki am 08.01.07 - 10:22:42
Ich bin mir nicht ganz sicher... aber bringt es was, wenn du das Backend-Dokument vor dem Aufruf des Agenten explizit speicherst?

Gruss
Chris