Domino 9 und frühere Versionen > ND6: Entwicklung
wie Backend Dokument aktualisieren???
koehlerbv:
--- Zitat von: klaussp am 19.12.06 - 00:15:38 ---Hoffentlich wirds jetzt klarer.
--- Ende Zitat ---
Ich gebe jetzt endgültig auf! Wieder Fragmente, obwohl es ja schon hilfreich gewesen wäre zu wissen, welche Teile dieser Routine denn nun noch nachweislich ausgeführt werden. He, wir machen das hier "nebenbei", und dabei können wir eben nicht noch ständig nebenbei die Kristallkugel reiben.
Bernhard
PS: 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.
Ich bin jetzt hier aber wirklich 'raus aus der Sache.
klaussp:
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
--- Code: ---Print tickert + " -> " + tickertext 'Vgl ob Backend <> Frontend
--- Ende Code ---
benutzt.
--- Zitat ---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.
--- Ende Zitat ---
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...
datenbanken24:
Ich verstehe zwar aus den obigen Angaben leider - genauso wie Bernhard - nur Bahnhof,
aber:
Beim NotesTimer gibt's ne böse Falle - vielleicht bist Du da reingetappt...
Ich vermute dies mal aufgrund Deiner "60 minuten = 3600 sekunden" Angabe in #11.
Angenommen Du hast Deinen NotesTimer auf ein Intervall von 1 ( = 1 Sekunde) deklariert.
Aus der Designerhilfe zum NotesTimer:
After setting the NotesTimer object, use the On Event statement to establish an event handler for the Alarm event. Then write the event handler as user code. Design the user code such that it completes in a time period less than the NotesTimer object's interval trigger. Unexpected results occur if the user code takes longer to complete than the specified interval.
Dein Usercode ( NTimerHandler) läuft noch, wenn der nächste Alarm Event schon wieder feuert.
"Unexpected results occur" heißt dann im "Lotus-Deutsch" nix anderes, als dass Dein Programm nicht ordentlich ausgeführt wird.
Setze testhalber mal Dein TimerIntervall auf 10 Sekunden und folgedessen die Berechnung auf "nTime = nTime + 10"
Ein Versuch ist's wert.
Auf die ticktime und nTime Geschichte kannst Du nebenbei bemerkt vollständig verzichten, wenn Dein Timer z.B. gleich im 60 Sekunden-Intervall den Alarm Event auslöst, es sei denn, auch das soll der User noch selbst eingeben können.
Nebenbei bemerkt, finde ich es äußerst amüsant, dass Lotus empfiehlt, den Programmcode (!) so zu entwickeln, dass dieser innerhalb des TimerIntervalls ablaufen kann. Das wird 'ne langwierige Optimierung werden, wenn 90% der Coder den Beispielcode aus der Hilfe übernehmen, in dem 1 Sekunde als Vorgabe steht. Den TimerIntervall so zu erhöhen, dass dieser dem Programmcode entspricht, scheint wohl zu einfach? Lustig.
Gruß,
Uwe
klaussp:
Hallo Uwe,
das mit dem TimerEvent war mir eine große Hilfe. Die Beispiele sind natürlich wirklich albern! Die Stelle hatte ich natürlich garnicht betrachtet, da ich bisher immer Dinge ausgeführt habe die wohl sehr schnell durch waren... Habe das Intervall jetzt auf 10 Sekunden gesetzt.
Es sieht nun allerdings so aus, dass das Dokument im Backend trotzdem ständig im Zugriff ist, und nicht geschrieben werden kann, es kommen fehlermeldungen like
"Eine weitere Kopie des Dokumentes 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"
Jetzt frage ich mich, warum das Dokument das nur im Backend geöffnet ist, nicht neu gespeichert werden kann?!
Grüsse,
Klaus
m3:
Weil mehrere Personen/Clients gleichzeitig drauf zugreifen?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln