Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: jr am 16.05.03 - 17:48:57
-
Hallo,
hatte das Thema wohl im falschen Forum gepostet, sorry. Hoffe, das es jetzt richtig ist.
Heute habe ich ein etwas kniffliges Problem und ich bin mir nicht sicher, ob es überhaupt eine Lösung gibt:
In meinen Datenbanken habe ich für jeden periodischen Agenten ein Konfigurationsdokument. Hier kann ich einstellen, auf welchem Server der Agent laufen soll und ihn aktivieren oder deaktivieren. Dadurch muss der Anwender nicht ins Design gehen und kann den Agenten aus der "normalen" Oberfläche heraus aktivieren.
Das funktioniert auch einwandfrei. Jetzt aber das Knifflige: Gibt es irgend eine Möglichkeit auch die Laufzeit des Agenten von hier aus einzustellen? Also zum Beispiel "Periodisch täglich, ab 6:00 alle 2 Stunden".
Die Klasse NotesAgent stellt hier nichts zur Verfügung. Aber vielleicht geht es über eine API-Funktion oder etwas ähnliches?
Derzeit behelfe ich mir so, dass ich mehrere Agenten mit unterschiedlichen Laufzeiten vorhalte, und der Benutzer einen davon auswählt. Ist aber nur eine Krücke und gefällt mir nicht besonders.
Hier habe ich einmal kurz den Code, mit dem ich den Agenten aktiviere:
Sub ChangeAgentState()
Dim ws As New NotesUiWorkspace
Dim doc As NotesDocument
Dim agent As NotesAgent
On Error Goto Fehler
Set doc = ws.CurrentDocument.Document
Set agent = ws.CurrentDatabase.Database.GetAgent(doc.sAgentName(0))
agent.ServerName = doc.nameServer(0)
agent.IsEnabled = Not(agent.IsEnabled)
Call agent.Save()
If (doc.sAgentState(0) = "") Then doc.sAgentState = 0
If (agent.IsEnabled) Then doc.sAgentState = 1 Else doc.sAgentState = 0
Call ws.CurrentDocument.Refresh()
Ende:
Exit Sub
Fehler:
Msgbox "Der Status des Agenten kann nicht geändert werden!",,"Fehler"
Resume Ende
End Sub
Vielleicht hat ja jemand eine Idee. Wäre echt nett, wenn Ihr mir hier weiterhelfen könntet. Vielen Dank im Voraus.
Gruß,
jr
-
das würde mich auch interessieren ...
Aus einem Profildokument heraus die Zeitangabe für periodischen agent ändern ;) ...
???
-
Hi,
guckst du hier mal:
http://www-10.lotus.com/ldd/46dom.nsf/8fcda5a283f280b2852565590071d8af/65389424caefa06980256b260051da56?OpenDocument
Axel
-
Wir hatten das gleiche Thema 10 Posts davor da ging es um das gleiche Thema:
http://www.atnotes.de/index.php?topic=9523.0
robert
-
Hallo,
vielen Dank für die Info.
Den Thread habe ich mal 2003 gepostet, aber bis jetzt keine richtige Lösung gefunden. Den Code habe ich gleich einmal ausprobiert und er funktioniert einwandfrei. Ich hatte schon einige vergeliche Versuche mit der API, aber auf Peek und Poke bin ich wirklich nicht gekommen. Das erinnert mich irgend wie noch an meine C64-Zeit... ;D
Vielen Dank, werde das in meine Datenbanken aufnehmen.
Gruß,
Joachim
-
Auf der Suche nach genau dieser Information bin ich damals auf AtNotes gestossen und seitdem dabei. Zu Get- und SetAssistInfo habe ich daher eine besondere Beziehung :)
Bernhard