Как запустить событие закрытия для консоли Rebol для выполнения какого-либо пользовательского обработчика перед выходом из консоли?Trigger close event for Rebol Console?
ответ
Ну, я не понимаю, зачем вам это нужно. Если вы запускаете скрипт из консоли, то, безусловно, ваш скрипт «знает», когда он собирается выйти.
Возможно, вы после выключения системы или подобного? В этом случае вам нужно посмотреть на порты системы.
См http://www.rebol.org/ml-display-thread.r?m=rmlNFFJ
для примера захвата события выключения для различных операционных систем.
AFAIK REBOL не предлагает крючок для этого. И если вы хотите сделать это с помощью подключения к системному порту, вам нужно будет запустить цикл событий.
Если у вас есть поведение, которое вы хотите вызвать, первое, что я хотел бы сделать, это добавить простой мешанин SHUTDOWN, чтобы заменить QUIT, и выполните свою работу там. Вы можете рассматривать это как функцию или ограничение, то есть пользователь может избежать вашей логики, используя кнопку закрытия, если захочет.
Я не могу добавить quit, поскольку консоль является ТОЛЬКО пользовательским интерфейсом. Поэтому я не могу добавить кнопку quit. Добавление такой функции hooks - это реальное значение для rebol гораздо больше, чем чистый синтаксис. Я надеялся, что rebol 3 будет более нацелен на такие вещи, которые являются инструментами. –
Не думайте, что консоль всегда была пользовательским интерфейсом. Нужна консоль, основанная на представлении ... – rgchris
Еще не поздно подумать :) Не думайте, что консоль предназначена только для глупых пользователей. В большинстве известных бизнес-приложений, таких как пользователи SAP, используется командная строка. Google теперь запускает google-cl, поэтому, конечно, консоль также может быть для пользователей, которые хотят делать что-то быстрее, не используя загадочный командный файл. –
Я не хочу знать, когда мой скрипт уйдет. Я нахожусь в консоли Reb, не работает скрипт, я хочу знать, когда пользователь закрывает окно консоли. Это как в браузере есть событие, которое запускается, когда пользователь закрывает окно. –
Ваша статья интересна, но я даже не хочу запускать ОС, я просто хочу вызвать консольную консоль rebol :) –