OberonCore

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Суббота, 22 Февраль, 2020 20:58 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Предлагаю заменить сообщение в журнале
unloading ModuleName failed
на
unloading ModuleName failed
ModuleName referenced by: ClientName1 ClientName2


Для этого в DevDebug добавить:

Код:
   PROCEDURE LogClients (m: Kernel.Module);
      VAR n: Kernel.Module; name: Kernel.Name; i, j, _: INTEGER;
   BEGIN
      IF m # NIL THEN
         n := Kernel.modList;
         WHILE n # NIL DO
            IF n.refcnt >= 0 THEN
               j := n.nofimps;
               i := 0; WHILE (i < j) & (n.imports[i] # m) DO INC(i) END;
               IF i < j THEN Kernel.Utf8ToString(n.name, name, _); StdLog.String(name); StdLog.Char(' ') END
            END;
            n := n.next
         END
      END
   END LogClients;

И в процедуру UnloadMod вставить то, что между (*!*)
Код:
   PROCEDURE UnloadMod (name: TextMappers.String; VAR ok: BOOLEAN);
      VAR mod: Kernel.Module; str: Dialog.String;
   BEGIN
      mod := Kernel.ThisLoadedMod(name);
      IF mod # NIL THEN
         IF name # "DevDebug" THEN
            Dialog.ShowParamStatus("#Dev:Unloading", name, "", "");
            Kernel.UnloadMod(mod)
         END;
         IF mod.refcnt < 0 THEN
            Dialog.MapParamString("#Dev:Unloaded", name, "", "", str);
            StdLog.String(str); StdLog.Ln
         ELSE
            Dialog.ShowParamMsg("#Dev:UnloadingFailed", name, "", "");
   (*!*)
            IF mod.refcnt > 0 THEN
               StdLog.ParamMsg("#Dev:^0 referenced by: ", name, '', ''); LogClients(mod); StdLog.Ln
            END;
   (*!*)
            ok := FALSE
         END
      ELSE
         Dialog.ShowParamMsg("#Dev:NotFound", name, "", "");
         ok := FALSE;
      END
   END UnloadMod;
   


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Хорошая идея. Я за повышение информативности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Понедельник, 02 Март, 2020 15:35 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Иван, что скажете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Понедельник, 02 Март, 2020 15:53 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
adimetrius писал(а):
Иван, что скажете?

Я тоже за.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Понедельник, 02 Март, 2020 15:58 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Вставляю?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Понедельник, 02 Март, 2020 17:57 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
adimetrius писал(а):
Вставляю?

Хорошо. Я думаю, что Александр не будет против. Некоторый кворум голосов есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Понедельник, 02 Март, 2020 23:29 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
По существу улучшение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Вторник, 03 Март, 2020 13:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Улучшение полезное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #026 Подробный вывод DevDebug.Unload
СообщениеДобавлено: Среда, 22 Апрель, 2020 08:14 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Улучшение добавлено adimetrius в сборке 1.8-a1.26. В репозитории также обновил.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 

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


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

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


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

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