Проблема в том, что монадический ⎕NQ «отправляет» сообщение во внутреннюю очередь.Первое сообщение не было обработано, когда вы «NQ» второго сообщения, поэтому целевой объект еще не был создан.Используйте левый аргумент от 1 до ⎕NQ, который будет «отправлять» сообщение объекту, а не «публиковать» его.
⎕NQ документация
На моемЯ сделал следующее:
'⎕se.mb.jd' ⎕wc 'MenuItem' 'jd' ('event' 'select' 'jd')
и у меня есть функция jd:
∇jd a
[1] 'f'⎕WC'form'
∇
и функция foo:
∇foo
[1] 1 ⎕NQ'⎕se.mb.jd' 'select'
[2] ⎕DL 5
[3] 'done'
∇
Когда я запускаюfoo, окно всплывает сразу же, а затем есть 5-секундная задержка, прежде чем я вижу готово в сеансе.
Вы можете попробовать это?Затем мы посмотрим на то, что вы делаете по-другому.