Domino 9 und frühere Versionen > ND9: Entwicklung
SetTargetFrame mit neuem Dokument in Script: Error -28363 / 4405
Tode:
Nur falls es wen interessiert: Bin gerade mal wieder über einen geilen Bug gestolpert (hat mich 2 Stunden gekostet, die Ursache zu finden):
Ich habe in einem Frameset zwei Frames, eins mit einer Ansicht, eins mit einer Maske.
Wenn man nun aus der Masken- Ansicht diesen simplen Code aufruft:
--- Code: ---Dim ses as New NotesSession
Dim db as NotesDatabase
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
set db = ses.CurrentDatabase
Call ws.SetTargetFrame( "Target" )
Set doc = New NotesDocument( db )
Call doc.ReplaceItemValue( "Form" , "Test" )
'Call doc.Save( True, True )
Call ws.EditDocument( True, doc )
--- Ende Code ---
dann wird im Targetframe die Ansicht nochmal angezeigt, und eben nicht das neue Dokument.
Erst wenn man einen ErrorHandler einbaut, dann bekommt man einen -28363 - User defined error (entspricht 32565 - 28363 = 4405 = Unable to find Document Window)
Wenn man den Kommentar bei doc.Save wegnimmt, dann klappt das.
Hier der IBM- KB- Eintrag,
aber "future release" ist leider nicht 9.0.1, in der habe ich aktuell das Problem...
Geile Sache das... Mal sehen, ob ich einen Workaround finde, OHNE das Dokument zu speichern...
EDIT: Argh: Der Bug wurde für ws.ComposeDocument scheinbar behoben... das wird dann wohl mein Workaround
Jens Winkelmann:
Hast du mal versucht weitere Parameter bei EditDocument anzugeben.
Beispielsweise notesDocumentReadOnly = False
Ich meine da gab es unerwartete Unterschiede je nach Anzahl der Parameter.
Tode:
Ja, meine "Echtdatenbank" hat alle Parameter, aber dort gibt es so viel Code, dass ich für den Gegentest extra ein Beispiel nachgebaut habe, und da hat die Failheit gesiegt... Aber danke für den Hinweis...
pram:
Der Fehler kommt mir bekannt vor. Wir ignorieren diesen in unserem Errorhandler:
If Err=-28363 Then Resume Next
If Err=4412 Then Resume Next
genau wie hier in dem Thread beschrieben: http://www-10.lotus.com/ldd/nd6forum.nsf/0/7f59d033be0797ff85256f6d00693d14?OpenDocument und sind dabei eigentlich ganz gut gefahren (da alles funktioniert)
Wir setzen den TargetFrame allerdings immer auf ""
Gruß
Roland
Tode:
Ja, das dachte ich auch, dass man den Error einfach ignorieren kann, aber das Problem: Dann funktioniert es halt nicht... Also: Das Dokument wird nicht geöffnet... Leider also keine Alternative
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln