Domino 9 und frühere Versionen > ND6: Entwicklung

Rotes Fenster beim Speichern im Backend

(1/2) > >>

gossifu:
Hallo,

Phänomen: Beim doc.Save(False, False) bekomme ich einen nicht behebbaren Fehler ???.
Kennt jemand das? Vor allen Dingen hat das Script schon funktioniert.
Ich setze zwei Feldwerte sonst nix.

mfg

Kjeld

atbits:
Zeig mal das Script.

Ist der Fehler reproduzierbar oder ist es einmal passiert?

Grüße David

gossifu:
Hallo,

hier das Script, reproduzierbar und tritt auch beim Kollegen auf.
Um 8.00 Uhr hat es noch funktioniert. Es ist in einer gemeinsamen Aktion.

--- Code: ---Sub Click(Source As Button)
        Dim s As New NotesSession
        Dim db As Notesdatabase
        Dim mail As Notesdocument
        Dim newmail As Notesdocument
        Dim ident As String
        Dim dbkey As Variant
       
        Set db = s.CurrentDatabase
        Set mail = s.DocumentContext
        Set dbkey = New getKeys("SNTadminkey")
       
        If Not mail Is Nothing Then
                ident = dbkey.getListParameter("Spam-Identifier", "Mail")
                Dim subject As String
                Dim mime As NotesMIMEEntity
                Dim header As NotesMimeHeader
                s.ConvertMIME = False
                Set mime = mail.GetMIMEEntity
                If Not(mime Is Nothing) Then 'Prüfen auf MIME
                       
                        Set header = mime.GetNthHeader("Subject")
                        If Not header Is Nothing Then'Header auslesen
                                subject = header.GetHeaderVal
                                If Instr(subject,ident) > 0 Then
                                        subject = Strright(subject,ident)
                                        Call header.SetHeaderVal(subject)'Subject setzen
                                End If
                        End If
                       
                        If Msgbox("Soll die Mail als fälschlicherweise als Spam markiert an die Administration gemeldet werden? ",36,"Falsche Spam-Mail melden") = 6 Then
                                ident = dbkey.getListParameter("Spam-Message", "Mail")'Empfänger der Meldungsmail
                               
                                'Header in die Mail schreiben und Meldung versenden
                               
                                Dim body As NotesRichTextItem
                               
                                Set newmail = db.CreateDocument
                                Set body = newmail.CreateRichTextItem("Body")
                                Call body.AddNewline(2)
                                Call body.AppendText(mime.Headers)
                                Call body.AddNewline(2)
                                newmail.Form = "Memo"
                                newmail.Subject = "Fälschlicherweise als Spam markierte Mail"
                                newmail.SendTo = ident
                               
                                newmail.Send(False)
                               
                        End If
                       
                        'Spam Markierung aufheben
                        ident = dbkey.getListParameter("Spam-Field", "Mail")         
                        Dim item As NotesItem
                        Set item = mail.GetFirstItem(ident)
                        If Not item Is Nothing Then
                                Call item.Remove
                        End If
Hier der Fehler -->                        Call mail.Save(True,False)
                        Call mail.RemoveFromFolder("JunkMail")
                End If
                s.ConvertMIME = True
                Dim ws As New NotesUIWorkspace
                Call ws.ViewRefresh
        End If
       
End Sub

--- Ende Code ---

mfg

Kjeld

atbits:
Habe den Code mal überflogen,

also auch wenn ich nicht sicher bin, aber ich könnte wetten es liegt an der letzten Zeile


--- Code: ---Dim ws As New NotesUIWorkspace
Call ws.ViewRefresh

--- Ende Code ---

der ViewRefresh ist mir auch schon ein paar mal um die Ohren geflogen, es kommt auf den Kontext an (also ob Deine Aktion aus einer Maske oder View heraus aufgerufen wird und ob Du im Read- oder Edit-Mode bist!

Kommentier mal den Refresh aus und versuchs dann nochmal, nur zu Testzwecken, Refreshe dann per Hand mit F9, wenn das geht mußt Du die Refresh-Methodik ändern.

gossifu:
Hallo,

der Debugger fliegt bei Call mail.Save(False, False) weg. :-:
Das ist zum Mäusemelken, dieser Punkt noch und die DB wäre fertsch.

mfg

Kjeld

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln