Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Mok am 10.08.06 - 11:37:51
-
Hallo!
Ich versuche über eine Aktion in einer Maske eine weitere Aktion oder einen Hotspot aufzurufen.
Ich habe schon überall gesucht und nichts dazu gefunden. Ist das überhaupt möglich??
Danke für Eure Hilfe,
Dominic
-
Meines Wissens nach geht das nicht. Macht auch wenig sinn, da man ja die zusätzlichen Aktionen dann in die "Aufruferaktion" mit packen kann bzw. den Code zentral halten und in den Aktionen nur verwenden sollte.
-
Ich hab dabei folgendes Problem:
Meine 1. Aktion ist LotusScript. In dieser möchte ich am Ende einen Agenten rufen, der in Formel bereits fertig geschrieben ist.
Wenn ich diesen mit Agent.Run aufrufe, sagt er zwar, dass er gelaufen ist, es ist aber nicht wirklich etwas passiert.
Ruf ich den Agenten über eine weitere Aktion oder einen Hotspot per Formel auf "@Command([ToolsRunMacro])", läuft er wie gewünscht.
Aus diesem Grund habe ich mir überlegt mit der 1. Aktion (LotusScript) eine zweite aufzurufen - oder einen Hotspot. Dieser startet dann per Formel den Agenten.
Irgendwelche Ideen??
-
und wenn du mit deiner 1. Aktion einen Agenten aufrufst, der den 2. Agenten startet ?
Laufen tut der Agent bei der 1. Aktion ja
Gruß
Christoph
-
Gute Idee!
Gibt mir aber leider folgende Fehlermeldung zurück, die ich auch vorher schon hatte:
Notes error: Im Hintergrund ausgeführter oder eingebetteter Agent verwendet einen nicht unterstützten Auslöser und Suchtyp
Ich darf den Code im Formel-Agenten nicht ändern, da dieser bereits von mehreren Komponenten genutzt wird.
-
und wenn du den Formelagenten sozusagen ein 2. mal erstellst ?
-
OK. Jetzt hab ich zumindest die Ursache für das Problem. Weiß aber noch nicht wie ich es beheben soll ... :-:
Beim Starten der Aktion mit LotusScript wird der Formel-Agent aufgerufen. Beim ersten Auftreten von @Prompt kommt es zum Fehler. Das @Prompt is aber unbedingt nötig.
Was kann ich hier tun??
-
agent.run startet einen Agenten im Backend und hat keinen Zugriff aufs Frontend. Die Konstruktion, die Du möchtest, kannst Du nur mit Hilfe von 3 Agenten lösen:
1. Steueragent
2. Script- Agent
3. Formel- Agent
der Steueragent enthält nur 2 Befehle:
@Command([RunMacro] ; "ScriptAgent" );
@Command([RunMacro] ; "FormelAgent" );
Fertig.
Nicht vergessen bei allen Agenten das Laufziel korrekt zu setzen (ggf. KEINES, aber das hängt vom Kontext ab).
HTH
Tode
-
DANKE DANKE DANKE :D
Genau danach habe ich gesucht. Funktioniert super.
Und danke auch für die Erklärung.
Schönes Wochenende!