OberonCore https://forum.oberoncore.ru/ |
|
Удобная работа с модулями https://forum.oberoncore.ru/viewtopic.php?f=1&t=385 |
Страница 1 из 1 |
Автор: | PGR [ Пятница, 16 Февраль, 2007 18:47 ] |
Заголовок сообщения: | Удобная работа с модулями |
Имеется 2 модуля: основной и вспомогательный. Во вспомогательном модуле находим ошибку и исправляем ее. При повторном запуске программы BlackBox использует старую загруженную версию модуля. Просто взять и выгрузить эту старую версию вспомогательного модуля не получится, т.к. он используется основным модулем. Поэтому приходится вручную выгружать сначала основной, а затем вспомогательный модуль. Если в программе много модулей и зависимостей между ними, то это становится слишком сложным. Как автоматизировать этот процесс, чтобы перекомпилировались только измененные модули, затем в нужном порядке выгружались и запускалась программа с внесенными изменениями? |
Автор: | Илья Ермаков [ Пятница, 16 Февраль, 2007 19:46 ] |
Заголовок сообщения: | |
Способов много... Во-первых, можно иметь в каком-то документе список файлов в порядке зависимости, выделить его и сделать Dev->Unload Module List. Такой список можно взять (или просто использовать "на месте") из Info->Loaded Modules. Можно воспользоваться утилиткой Tools->Create Tool: напишите в произвольном порядке список всех модулей, участвующих в вашем "проекте", выделите его и запустите Tools->CreateTool. Будет открыт документ с заготовленными командами для компиляции, выгрузки линковки всех этих модулей, при этом они будут рассортированы по зависимостям автоматически. |
Автор: | PGR [ Суббота, 17 Февраль, 2007 06:04 ] |
Заголовок сообщения: | |
Как-то все это неудобно... А как вы поступаете в такой ситуации? Используете этот Tool? |
Автор: | Евгений Темиргалеев [ Суббота, 17 Февраль, 2007 13:04 ] |
Заголовок сообщения: | |
Скажу за себя. Набрать пару команд один раз и потратить полминуты - не больше - о каком неудобстве тут можно вообще говорить? |
Автор: | Иван Горячев [ Суббота, 17 Февраль, 2007 13:12 ] |
Заголовок сообщения: | |
Это в том случае, если иерархия модулей несложная. Если же мне неизвестно, сколько модулей в даннный момент пользуют поправленный, либо я роюсь внутри среды ББ - тогда спасёт перезапуск ББ (или запуск второй копии ББ - посмотрел на резульаты, закрыл, и правь дальше). Конечно, это неудобно. Ну так напишите соответствующий модулёк, все Вам спасибо скажут ![]() |
Автор: | Александр Ильин [ Суббота, 17 Февраль, 2007 16:49 ] |
Заголовок сообщения: | |
Я делаю вот так. В каждой подсистеме завожу специальный файлик со списком модулей подсистемы. По традиции BlackBox этот файлик называю Docu/Sys-Map.odc. Там храню полный список файлов подсистемы и команды для полной перекомпиляции и полной выгрузки. Вот пример содержимого: Код: Source
Bytes Cmds Engine Views Models CtxMenu AutoSave AutoSaveDlg AutoAsk Config PortDlg CreateDlg RequestDlg SetValueDlg Drivers Dev00 Dev01 Dev02 Dev03 Testing TestSending TestBytes TestLink Resources Strings Menus AutoSaveDlg PortDlg CreateDlg RequestDlg SetValueDlg ^Q DevCompiler.CompileThis MateBytes MateEngine MateModels MateDev00 MateDev01 MateDev02 MateDev03 MateViews MateCtxMenu MateTestSending MateCmds MateAutoSave MateAutoSaveDlg MateAutoAsk MateConfig MatePortDlg MateCreateDlg MateRequestDlg MateSetValueDlg MateTestBytes MateTestEngine MateTestLink ~ ^Q DevDebug.UnloadThis MateTestLink MateTestEngine MateTestBytes MateSetValueDlg MateRequestDlg MateCreateDlg MatePortDlg MateAutoAsk MateAutoSaveDlg MateConfig MateAutoSave MateCmds MateTestSending MateCtxMenu MateViews MateDev00 MateDev01 MateDev02 MateDev03 MateModels MateEngine MateBytes ~ Все имена файлов в разделах Source, Drivers, Testing, Resources - это ссылки, щелчок по которым открывает соответствующий файл подсистемы. Если буду писать документацию, то добавлю соответствующий раздел со ссылками. В командерах слова Compile и Unload делаю жирными. За полнотой списков и правильным порядком модулей в этих командерах слежу вручную, это не сложно. Во время работы над подсистемой окошко с открытым Sys-Map.odc делаю маленьким и помещаю в правой части окна BlackBox. (Состояние рабочего стола сохраняется подсистемой Desktop из коллекции Зинна.) Чтобы на нем не было горизонтальной полосы прокрутки, устанавливаю размер документа по ширине окна (меню Tools - Document Size... - Window Width). Высоту окна делаю такой, чтобы было видно все от начала документа до командера Unload, т.е. чтобы все можно было сразу кликнуть, не пользуясь прокруткой. Для превращения текста вида "MateBytes" в ссылку на "Mate/Mod/Bytes.odc" сделал специальные процедуры. Это неплохое упражнение на понимание того, как использовать и комбинировать объекты в BlackBox. Аналогичные процедуры сделал для создания ссылок на ресурсы и документацию и поместил их в свое собственное меню. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |