da muss ich Dir jetzt recht geben, sorry!
Aber vielleicht wirds jetzt endlich klarer; vorweg noch eines:
das uidoc wird garnicht mehr abgefragt, sondern ich speichere einmalig im postopen den ersten wert in der Variable 'tickertext', und sollte sich dieser dann im Verlaufe des Timers von der Variable 'tickert' (der Wert aus dem Backend - Dok) unterscheiden, dann muss aktualisiert werden.
Sub NTimerHandler(Source As NotesTimer)
On Error Goto errorhandler
nTime = nTime + 1
If nTime>=ticktime Then 'ticktime ist global und wird einmalig im postopen gesetzt!
Dim uiws As New NotesUIWorkspace
Set tickerview = db.GetView("(Ticker)")
Call tickerview.Refresh
Set tdoc = TickerView.GetFirstDocument
If Not tdoc Is Nothing Then
tickert = tdoc.cTickertext(0)
End If
' Print tickert + " -> " + tickertext 'Vgl ob Backend <> Frontend
'Prüfen ob sich der Tickertext geändert hat, falls ja wird der Frame neu geladen!!!
If tickert <> tickertext Then
Print "Der Newsticker hat sich geändert und wird neu geladen."
Call uiws.reloadWindow() 'Neu laden!
tickertext = tickert 'Vergleichsvariable auf neuen Wert setzen
End If
nTime=0 'Tickertime zurücksetzen!
End If
So, ändert aber nix an der Tatsache, dass der Wert den ich aus dem Backend Dokument bekomme nicht der Aktuelle ist.
Hoffentlich wirds jetzt klarer.
Der Code wird definitiv ausgeführt, auch zur richtigen Zeit. Das ist alles nicht mein Problem. Mein Problem ist definitiv nur, dass 'tdoc' hier in meinem geposteten Code keine aktuellen Werte des Backend-Dokumentes 'tdoc' zurückliefert. Dazu habe ich das mitlerweile auskommentierte
Print tickert + " -> " + tickertext 'Vgl ob Backend <> Frontend
benutzt.
Um nur eine Sache zu nennen - wenn "nTime" (tolle Variablenbezeichnung!) integer ist und Du 60 Minuten erreichen willst, dann wäre das schon eine der zahlreichen Möglichkeiten.
nTime ist Integer
60 minuten = 3600 sekunden - Integer kann meines Wissens bis +32.768 ganzzahlig, wo ist das Problem?
...und zum testen nehme ich natürlich auch erstmal kürzere Werte, sonst müsste ich ja immer ewig warten...
Da haste Recht, die Fehlermeldung kommt von folgendem Code. (Hier wird das Backend Dokument vom Admin zum Bearbeiten geöffnet um den Tickertext zu ändern!)
Sub Click(Source As Button)
On Error Goto errhandler
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim uidoc As NotesUIDocument
Dim AIdoc As NotesDocument
Dim unid As String
Set db = s.currentdatabase
Set view = db.GetView("(Ticker)")
Set Tickerdoc = view.GetFirstDocument
If Tickerdoc Is Nothing Then
Print "Fehler - kein Ticker-Konfigurations-Dokument vorhanden!"
'Anlegen eines Ticker-Konfigurations-Dokumentes
Dim doc As notesdocument
Set doc = db.CreateDocument
doc.form = "(TickerKonfiguration)"
Call doc.Save(True,False,False)
Set uidoc = ws.EditDocument(True,doc)
Else
Set uidoc = ws.EditDocument(True,Tickerdoc)
End If
Exit Sub
errhandler:
Msgbox " " + Error$ + " !! Zeile: " + Str(Erl)
End Sub