Domino 9 und frühere Versionen > ND9: Entwicklung
Frage zu Java Agenten
Bruce Willis:
--- Zitat von: Werner Götz am 02.03.18 - 08:00:00 ---...Man sollte das Ganze wohl im PostSave belassen, aber z.B. so umschreiben, dass der Agent mit RunWithDocumentContext das aktuell geöffnete Dokument (aus dem Hauptspeicher) nutzt ...
--- Ende Zitat ---
Vielen Dank.
Kannst Du bitte diese ein paar Zeilen hier schreiben?
Werner Götz:
Ich habe das jetzt mal so runter geschrieben, also ohne Gewähr ...
--- Code: --- Sub PostSave(Source As NotesUIDocument)
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim ret
Set doc = Source.Document
Set db = doc.ParentDatabase
Set agent = db.GetAgent("<agentname>")
'// der Agent sollte im Feld _retValue einen Returncode zurückliefern ...
doc.ReplaceItemValue("_retValue", "").SaveToDisk = False
ret = agent.runWithDocumentContext(doc)
If ret <> 0 Then Error 32000, "Allgemeiner Fehler beim Aufruf des Agenten <agentname>"
ret = doc.GetItemValue("_retValue")(0)
Select Case ret
Case ...
...
Call doc.Save(True, True)
...
End Select
End Sub
--- Ende Code ---
Im Java-Agenten muss man dann über AgentContext.getDocumentContext() auf das Dokument zugreifen.
Hoffe, das hilft weiter?
-Werner
Bruce Willis:
--- Zitat von: Werner Götz am 04.03.18 - 14:24:17 ---Ich habe das jetzt mal so runter geschrieben, also ohne Gewähr ...
...
--- Ende Zitat ---
Hallo Werner,
vielen Dank!
Ich probiere es mal.
Gruß
Leo
jBubbleBoy:
Jetzt bist du wieder bei deinem Ursprung, mit dem Unterschied das dein Agent nicht über Formel sondern mittels Lotusscript aufgerufen wird, das wird dein Problem nicht lösen!
Gib den Java-Agenten an den Entwickler zurück, erkläre ihm die Probleme und gib ihm ggf. noch den Tipp mit LS2J.
Werner Götz:
@jBubbleBoy:
Warum sind wir denn wieder am Ursprung?
Das ist nicht ein einfaches Verlagern des Aufrufs!
Ich denke, dass mit meinem Vorschlag das Problem gelöst werden kann.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln