Ich weiss, dass das, was ich will, nicht geht... Will es aber trotzdem hinbekommen.
Wer nicht viel lesen will, einfach nach dem Zitat weiterlesen...
Folgender Hintergrund: Ich habe aktuell einen -sehr umfangreichen- Formelagenten, der zu einer Workflow- Engine gehört. Diesem Formelagenten kann man -per config- sagen, er soll einen anderen Agenten ausführen, bevor er selbst losläuft. Wenn der andere Agent einen "Fehler" wirft (im Moment durch einfache notes.ini- Variable gelöst), dann bricht der Erste ab.
Über @Command( [RunAgent] ; "AndererAgent" ) ist das ja gar kein Problem.
Nun sind umfangreiche Formelagenten leider weder gut zu warten, noch sonderlich gut zu dokumentieren, und webtauglich sind solche Konstrukte schon gleich gar nicht. Deshalb ersetze ich gerade Stück für Stück den Agenten durch eine Script- Library.
Um die bestehende Basis nicht zu gefährden, muss ich auch im Script diese Möglichkeit einbauen. Der gerufene Agent kann aber leider Frontendaktionen (Dialogboxen, Messageboxen, whatever) enthalten. Deshalb komme ich mit einem "NotesAgent.Run" nicht weiter.
Deshalb die Frage: Wie würdet Ihr in LotusScript einen anderen Agenten aufrufen, so dass dieser tatsächlich "Frontend"- Aktionen durchführen kann:
NotesAgent.run scheidet aus, genauso wie Evaluate (keine @Commands in Evaluate)...
Mein Ansatz wäre folgender: Ich mache eine Maske. Diese Maske hat in irgendeinem Event den Formel- Aufruf des Agenten, und geht sofort wieder zu...
Irgendeine Idee (zu meinem Ansatz oder zu einem besseren)?
EDIT: So sieht meine Lösung aktuell aus:
1. Maske mit QueryOpen- Event @Command([RunAgent] ; "Test-Formel" )
2. In der Maske eine Teilmaske mit QueryOpen- Event: Continue = False
Warum eine Teilmaske?
In Formel kann ich kein Continue = False setzen, und wenn ich im PostOpen ein Source.Close reinsetze, dann flackert die Maske ganz kurz auf...