Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Manfred.Gipp am 14.03.07 - 14:59:54

Titel: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 14.03.07 - 14:59:54
Hallo,
ich bin gerade am programmieren von Symbolleisten. Darin starte ich einen Agenten über @command([RunAgent];agentname) in der gerade aktiven geöffneten Datenbank. Wenn der Agent nicht da ist, meldet Notes einfach nur "Der angegebene Agent ist nicht vorhanden".
Dem Benutzer hilft das nicht viel. Ich würde gerne hier eine eigene Meldung bringen. Dazu müsste ich  prüfen, ob der Agent überhaupt in der geöffneten Datenbank vorhanden ist.

Jetzt ist die Frage: gibt es eine Möglichkeit abzufragen (nicht über script, sondern in Formelsprache weil ich das in der Symbolleiste abfangen muss), ob ein Agent vorhanden ist oder nicht.
Mit @IsAgentEnabled(agentname) geht das nicht, weil der auch 0 zurückliefert, wenn der nicht aktiviert ist.
Mir wäre auch recht, wenn ich eine Liste der vorhandenen Agenten bekommen würde, bei der ich mit @IsMember(...;...) auf vorhandensein des Agenten prüfen könnte.
Hat jemand eine Idee, wie das funktionieren könnte?
Vielen Dank schon mal.
Gruß
Manfred
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: klaussal am 14.03.07 - 15:01:20
Auf eknori's Homepage gibt es was.
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 14.03.07 - 15:33:06
Schön, dass es eknori gibt. ;D
Die Seite habe ich gefunden. Ich nehme an, dass du www.eknori.de meinst.
Aber dort das spezielle zu finden ist ein Problem.
Kannst du mir sagen, wo genau ich das finden kann?

Danke
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: klaussal am 14.03.07 - 15:38:17
Hab ich auf die Schnelle auch nicht mehr finden können.
Kann Dir aber bei Bedarf eine DB mailen, wo das drin ist.
Bitte PM an mich mit Mehl-Adresse.
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 15.03.07 - 09:14:35
Vielen Dank für die Schablone. Aber leider hilft mir die nicht viel weiter. :(
Ich bin in einer Symbolleiste (Toolbar), also außerhalb einer Datenbank. Und hier will ich vorher prüfen, ob ein bestimmter Agent in der gerade geöffneten (aktiven) Datenbank vorhanden ist. Wenn nicht, bringe ich eine Fehlermeldung, ansonsten muss der Agent gestartet werden.
Das script in der Schablone muss schon vorher in der Datenbank laufen, um die Liste der Agenten aufzubauen. Genau das kann ich aber vorher gar nicht machen.
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Otto am 15.03.07 - 09:37:13

wenn Du ein Smarticon mit einem '@command([Toolsrunmacro]; "agent")'
belegst, geschieht doch folgendes:
Ist der Agent in der ausgewählten DB vorhanden, wird er gestartet,
wenn nicht wird 'Der Agent ist nicht vorhanden' oder so angezeigt

Eigentlich genau das, was Du willst.

Gruß Otto
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 15.03.07 - 10:42:05
Eben diese Meldung würde ich gerne nicht haben. Sondern etwas eigenes dahinterlegen.
Diese Meldung ist für den Benutzer unschön und wenig aussagekräftig
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Driri am 15.03.07 - 14:15:57
Hast Du schon mal probiert, mit @IfError die FM abzufangen ?

Vergiß, was ich geschrieben habe.  Scheint mit Agentaufrufen nicht zu funktionieren.
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 15.03.07 - 17:05:36
Genau. Das hatte ich auch schon probiert. Bisher muss ich wohl mit der "komischen" Meldung leben.
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: iukhdh am 15.03.07 - 17:42:22
Das Problem ist ja wohl, dass man in der Symbolleiste nur mit Formelsprache programmieren kann, und dort ein Abfangen des Fehlers dann nicht funktioniert.

Mal ins unreine gedacht:

Gibt es keine Möglichkeit im Notes einen "zentralen Agenten" zu hinterlegen, der dann von dem Icon in der Symbolleiste aufgerufen wird, und der dann in Script die Aufgabe übernehmen kann?
Titel: Re: Notes Agent auf Vorhandensein prüfen
Beitrag von: Manfred.Gipp am 19.03.07 - 08:24:35
Zu "zentralen" Agenten braucht man eine "zentrale" Datenbank. Die ist nicht immer gegeben, außer man legt das in NAB ab. Ich bin aber der Meinung, dass man dort so wenig wie möglich ändern sollte.
Mir wäre es lieber, wenn ich in der Symbolleiste mit der Command-Sprache die Fehlermeldung abfangen könnte.
Hat jemand noch eine andere Idee, wie man aus der Symbolleiste (Toolbar) heraus prüfen kann, ob ein Agent in der aktuellen (aktiven) Datenbank vorhanden ist?