OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Понедельник, 18 Май, 2020 23:48 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги, предлагаю добавить команду 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'ов и др. вспомогательных документов, а также совместимости этих же документов с западной версией ББ.

Что скажете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Вторник, 19 Май, 2020 06:23 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
С одной стороны, это идет в рамках идеи, которую высказал Евгений в своём докладе, если правильно помню. В Блэкбоксе многие служебные команды не имеют процедурного доступа, что не всегда удобно. Евгений у вас целый пакет изменений такого рода подготовлен ведь?

С другой стороны, есть желание пока ничего не менять в интерфейсах по возможности. И так большое число изменений, и пользователям будет некомфортно оказаться в совершенно иной среде. Поэтому я пока не спешил бы с такого рода правками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Среда, 26 Август, 2020 12:35 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги, поразмыслив, я увидел-таки программный интерфейс к 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)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Четверг, 27 Август, 2020 09:22 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Здорово! Отличный пример получился.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Четверг, 27 Август, 2020 20:43 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Очень забавно наблюдать, как "компонентный" фреймворк обрастает встроенным из коробки мясцом, политика поменялась, и теперь вопрос не в сохранении, а в улучшении стандартных компонентов. А когда-то эту фичу встроили бы в библиотеку, но так ведь неудобно, зависимости лишние и вообще, никто не узнает об этой гениальной фиче. Хех. Всё дело в доступе к сборке, видимо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Предлагаю DevDebug.UnloadThese
СообщениеДобавлено: Пятница, 28 Август, 2020 06:17 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пётр Кушнир писал(а):
Очень забавно наблюдать, как "компонентный" фреймворк обрастает встроенным из коробки мясцом, политика поменялась, и теперь вопрос не в сохранении, а в улучшении стандартных компонентов. А когда-то эту фичу встроили бы в библиотеку, но так ведь неудобно, зависимости лишние и вообще, никто не узнает об этой гениальной фиче. Хех. Всё дело в доступе к сборке, видимо.

Пётр, похоже, что ты как-то не так понял сообщение Антона... Наоборот радуемся, что не придется ничего добавлять. И ещё времена другие, ты прав. Раньше ведь надо было опираться на главного дистрибьютора. А теперь когда самые активные пользователи являются дистрибьюторами, то это меняет правила игры. Главным образом решаются вопросы переработки для лучшей поддержки кросс-платформенности и устранения проблем интерфейса. Так что, не надо страданий!

На прошлой встрече была секция с обсуждением перспектив, и там Евгений высказался за организацию программного интерфейса в функциям каркаса. К сожалению, не везде возможно сделать так, как тут сделал Антон. Так что вопрос по программному доступу еще не раз будет всплывать.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB