OberonCore https://forum.oberoncore.ru/ |
|
(пример) Meta: список загруженных модулей https://forum.oberoncore.ru/viewtopic.php?f=23&t=3807 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Среда, 01 Февраль, 2012 10:59 ] |
Заголовок сообщения: | (пример) Meta: список загруженных модулей |
Как это ни банально звучит, список можно получить через Meta. Обратил внимание на этот момент, оформляя omcBus. До этого у меня в мозгу задача ассоциировалась исключительно с Kernel. Код: MODULE Example;
IMPORT Meta, Log; PROCEDURE LogLoadedModules*; VAR s: Meta.Scanner; name: Meta.Name; BEGIN s.ConnectToMods; s.Scan; WHILE ~s.eos DO IF s.this.Valid() THEN s.GetObjName(name); Log.String(name); Log.Ln END; s.Scan END END LogLoadedModules; END Example. |
Автор: | GameHunter [ Понедельник, 19 Март, 2012 18:47 ] |
Заголовок сообщения: | Re: (пример) Meta: список загруженных модулей |
Заметил, что если не делать проверку s.this.Valid(), то модуль Example иногда попадает в список несколько раз. Откуда это? Исходя из документации не valid модулей вообще не должно появляться в списке. |
Автор: | Евгений Темиргалеев [ Вторник, 20 Март, 2012 09:35 ] |
Заголовок сообщения: | Re: (пример) Meta: список загруженных модулей |
GameHunter писал(а): Исходя из документации не valid модулей вообще не должно появляться в списке. Откуда такой вывод? В постусловиях Scan нету ~s.eos & s.this.Valid().Повторно попадаются "записи" выгруженных модулей, для которых оставляется метаинформация. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |