OberonCore https://forum.oberoncore.ru/ |
|
Предлагаю DevDebug.UnloadThese https://forum.oberoncore.ru/viewtopic.php?f=134&t=6615 |
Страница 1 из 1 |
Автор: | adimetrius [ Понедельник, 18 Май, 2020 23:48 ] |
Заголовок сообщения: | Предлагаю DevDebug.UnloadThese |
Коллеги, предлагаю добавить команду DevDebug.UnloadThese* (IN modNames: ARRAY OF CHAR); Я пользуюсь оной, чтобы иметь коммандеры при отладке группы модулей: ![]() Можно пользоваться штатной ![]() Реализация внутри DevDebug очень простая: PROCEDURE UnloadThese* (IN modNames: ARRAY OF CHAR); BEGIN UnloadList(0, LEN(modNames$), TextModels.dir.NewFromString(modNames)) END UnloadThese; Можно, конечно, лично для себя сделать утилитный модуль и в него перекопировать DevDebug.UnloadList и вызывать, как хочешь; но, кмк, польза будет общеупотребительная. Из минусов - потеря обратной совместимости QuickStart'ов и др. вспомогательных документов, а также совместимости этих же документов с западной версией ББ. Что скажете? |
Автор: | Иван Денисов [ Вторник, 19 Май, 2020 06:23 ] |
Заголовок сообщения: | Re: Предлагаю DevDebug.UnloadThese |
С одной стороны, это идет в рамках идеи, которую высказал Евгений в своём докладе, если правильно помню. В Блэкбоксе многие служебные команды не имеют процедурного доступа, что не всегда удобно. Евгений у вас целый пакет изменений такого рода подготовлен ведь? С другой стороны, есть желание пока ничего не менять в интерфейсах по возможности. И так большое число изменений, и пользователям будет некомфортно оказаться в совершенно иной среде. Поэтому я пока не спешил бы с такого рода правками. |
Автор: | adimetrius [ Среда, 26 Август, 2020 12:35 ] |
Заголовок сообщения: | Re: Предлагаю DevDebug.UnloadThese |
Коллеги, поразмыслив, я увидел-таки программный интерфейс к DevDebug.UnloadThis; секрет - в использовании DevCommanders.par: Код: MODULE M; ... PROCEDURE Unload* (IN these: ARRAY OF CHAR); VAR p, q: DevCommanders.Par; _: INTEGER; BEGIN p := DevCommanders.par; NEW(q); q.text := TextModels.dir.NewFromString(these); q.beg := 0; q.end := LEN(these$); DevCommanders.par := q; Dialog.Call("DevDebug.UnloadThis", "M.Unload: ", _); DevCommanders.par := p END Unload; ... END M. Поэтому мое предложение про DevDebug.UnloadThese более неактуально. Приведенная процедура Unload может использоваться внутри меню (в отличие от DevDebug.UnloadThis) |
Автор: | Иван Денисов [ Четверг, 27 Август, 2020 09:22 ] |
Заголовок сообщения: | Re: Предлагаю DevDebug.UnloadThese |
Здорово! Отличный пример получился. |
Автор: | Пётр Кушнир [ Четверг, 27 Август, 2020 20:43 ] |
Заголовок сообщения: | Re: Предлагаю DevDebug.UnloadThese |
Очень забавно наблюдать, как "компонентный" фреймворк обрастает встроенным из коробки мясцом, политика поменялась, и теперь вопрос не в сохранении, а в улучшении стандартных компонентов. А когда-то эту фичу встроили бы в библиотеку, но так ведь неудобно, зависимости лишние и вообще, никто не узнает об этой гениальной фиче. Хех. Всё дело в доступе к сборке, видимо. |
Автор: | Иван Денисов [ Пятница, 28 Август, 2020 06:17 ] |
Заголовок сообщения: | Re: Предлагаю DevDebug.UnloadThese |
Пётр Кушнир писал(а): Очень забавно наблюдать, как "компонентный" фреймворк обрастает встроенным из коробки мясцом, политика поменялась, и теперь вопрос не в сохранении, а в улучшении стандартных компонентов. А когда-то эту фичу встроили бы в библиотеку, но так ведь неудобно, зависимости лишние и вообще, никто не узнает об этой гениальной фиче. Хех. Всё дело в доступе к сборке, видимо. Пётр, похоже, что ты как-то не так понял сообщение Антона... Наоборот радуемся, что не придется ничего добавлять. И ещё времена другие, ты прав. Раньше ведь надо было опираться на главного дистрибьютора. А теперь когда самые активные пользователи являются дистрибьюторами, то это меняет правила игры. Главным образом решаются вопросы переработки для лучшей поддержки кросс-платформенности и устранения проблем интерфейса. Так что, не надо страданий! На прошлой встрече была секция с обсуждением перспектив, и там Евгений высказался за организацию программного интерфейса в функциям каркаса. К сожалению, не везде возможно сделать так, как тут сделал Антон. Так что вопрос по программному доступу еще не раз будет всплывать. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |