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.UnloadThese('SubMod1 SubMod2'); SubMod2.TestedCommand"

Можно пользоваться штатной :!: DevDebug.UnloadThis SubMod1 SubMod2, но ее невозможно скомбинировать в одном коммандере с другими командами.

Реализация внутри 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/