Das mit der Maske geht so nicht, da über den Agent lediglich eine Datenbank gestartet wird. Mal sehen was mir da einfällt.
Da hab ich mich vielleicht noch unklar ausgedrückt. Die Maske ersetzt den Agenten (erscheint aber nicht am Bildschirm)
Da dein Agent bereits in skript ist, müsste es reichen, diesen skript-code ins initialzie der Maske zu kopieren:
sub initialize
' deinAgentCode, z.B.
ws.openDatabase(sess.getEnvironmentString(...))
end sub
sub queryOpen(source, continue)
continue = false ' verhindert das Öffnen
end sub
Nun kann es sein, dass du gewissermaßen recht hast, weil bestimmte UI Aktionen im initialize vielleicht nicht möglich ist. (öffnen einer DB gehört wohl dazu)
Dann muss man es wie Folgt im Postopen machen (queryOpen bleibt dann leer)
sub postOpen(source)
' dein code
source.close ' uiDoc schließen. Maske sollte ein verstecktes Feld SaveOptions = "0" enthalten
end sub
Nachteil: Maske erscheint kurz am Bildschirm, da kann man aber einen Text rein machen: "Bitte warten" oder so was in der Richtung.
Leider gibt es kein "offizielles" @Command um einen Agenten in einer bestimmten DB zu starten, außer vieelleicht noch das:
http://www.johndavidhead.com/jhead/johnhead.nsf/dx/ibm-just-blew-me-away-...-?opendocument&comments
Gruß
Roland