OberonCore
https://forum.oberoncore.ru/

#019 SafeAction — защищенные действия
https://forum.oberoncore.ru/viewtopic.php?f=134&t=6536
Страница 2 из 2

Автор:  Trurl [ Среда, 06 Январь, 2021 19:31 ]
Заголовок сообщения:  Re: #019 Kernel.SafeAction — защищенные действия

Не вижу ни одной причины, почему эти SafeAction надо было запихивать в Services, тем более в Kernel.

Автор:  Info21 [ Среда, 06 Январь, 2021 22:16 ]
Заголовок сообщения:  Re: #019 Kernel.SafeAction — защищенные действия

Trurl писал(а):
Не вижу ни одной причины, почему эти SafeAction надо было запихивать в Services, тем более в Kernel.
Поддерживаю Trurl'я здесь и elsewhere.

Автор:  Иван Денисов [ Четверг, 07 Январь, 2021 07:56 ]
Заголовок сообщения:  Re: #019 SafeAction — защищенные действия

В ядре нет изменений для SafeAction по итогу, всё сделано через Kernel.Try
Так что тут название темы ввело вас в заблуждение. Антон предлагал сделать в ядре, но его Борис благоразумно поправил, что не надо в ядро это помещать.

Фёдор Васильевич, отмечаю, что вас эксперименты Антона впечатляли.
viewtopic.php?f=134&t=6536#p110538
причём ещё в эпоху, когда это было в ядре.

Try — это полезная штука в ядре, которая позволяет делать отказоустойчивые эксперименты, но пользоваться ей суперсложно. Поэтому при экспериментах с фреймворком для разработки Tyler и других полезных вещей Антон использовал SafeAction. Так что добавлено в фреймворк для того, чтобы новый ГУЙ в альфаверсии не зависал, а грамотно сообщал об ошибках.

В рокет-чате затем было обсуждение, что эту функциональность можно использовать для создания некоторых паттернов обработки исключений, как это делается во многих популярных языках. Так что вот я тут и опубликовал простой эксперимент на эту тему.

По ходу узнал про Kernel.SetTrapGuard(TRUE); и что в Windows версии всё равно вылетает окно, и кстати эти окна даже в консольных программах выпрыгивают, что совсем неправильно. Надо сделать guiHook, также как это сделано в Linux версии. Над этим сейчас и работаю.

Автор:  Иван Денисов [ Суббота, 09 Январь, 2021 12:40 ]
Заголовок сообщения:  Re: #019 SafeAction — защищенные действия

Теперь этот пример работает в Windows версии.
Перенес часть наработок Антона из Linux версии в ядро Windows и сделал HostGui по аналогии с HostGnome, а сам HostGnome для симметрии переименовал в HostGui.

https://blackbox.oberon.org/unstable/de ... a1.051.zip

Вложения:
Снимок экрана от 2021-01-09 15-34-33.png
Снимок экрана от 2021-01-09 15-34-33.png [ 145.07 КБ | Просмотров: 4724 ]

Автор:  Info21 [ Суббота, 09 Январь, 2021 13:02 ]
Заголовок сообщения:  Re: #019 SafeAction — защищенные действия

Иван Андреевич, и деяния Антона, и Ваши меня впечатляют.

Но когда не могу как следует въехать в детали, то мнение Трурля для меня красная лампочка.
Вы же помните, что я и на сборку Вашу "сел" из-за имени Трурля :-)

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/