мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
dw_tformlogdelphi [17.04.2020 11:57] Анисютин создано |
dw_tformlogdelphi [05.11.2020 16:21] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Лог компиляции проекта ====== | ====== Лог компиляции проекта ====== | ||
+ | |||
+ | Форма **"Лог компиляции проекта"** открывается из главного меню программы кнопкой **"Лог компиляции проекта"**.\\ | ||
+ | Форма отображает список предупреждений, которые выдал компилятор Delphi.\\ | ||
+ | Каждому предупреждению сопоставляется программист, который должен будет исправить программу для удаления предупреждения. | ||
+ | {{:pasted:20200418-145931.png}}\\ | ||
+ | |||
+ | ==== Информационные поля ==== | ||
+ | |||
+ | * **Количество записей в логе** - общее количество предупреждений в файле лога компиляции проекта.\\ | ||
+ | * **Количество записей в объекте** - количество записей в объекте меньше чем "Количество записей в логе" так, как исключаются записи с неактивными типами предупреждений.\\ | ||
+ | * **Проект** - Папка проекта Delphi. Считывается из лога компиляции проекта | ||
+ | * **Файл лога компиляции проекта** - Файл, в который выгружен лог компиляции проекта. Считывается из настройки **BuildLog**. | ||
+ | |||
+ | ==== Поля в таблице ==== | ||
+ | |||
+ | * **Код** - Код типа предупреждения | ||
+ | * **Описание** - Описание предупреждения | ||
+ | * **Модуль** - наименование файла с предупреждением | ||
+ | * **Строка** - номер строки в модуле, в которой возникло предупреждение. | ||
+ | * **Разработчик** - программист, который вносил изменения. Добавляется из лога изменений модулей | ||
+ | * **E-MAIL** - E-MAIL программиста. Добавляется из лога изменений модулей | ||
+ | |||
+ | ==== Кнопки ==== | ||
+ | |||
+ | * **Импорт лога компиляции** - повторно загружает значения в объект **LogDelphi**. | ||
+ | |||
+ | ==== Импорт лога компиляции ==== | ||
+ | |||
+ | === Формат файла лога компиляции проекта === | ||
+ | |||
+ | Наименование компилируемого проекта берется из строки вида | ||
+ | <code> | ||
+ | Проект "E:\_Projects\Agbis.dxe\Mailing\Mailing.dproj" (цели Build): | ||
+ | </code> | ||
+ | |||
+ | Контрольная сумма - общее количество предупреждений берется из строки вида | ||
+ | <code> | ||
+ | 543 Предупреждение | ||
+ | </code> | ||
+ | |||
+ | Формат строки предупреждения | ||
+ | <code> | ||
+ | c:\Program Files (x86)\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Delphi.Targets : warning : E:\_Projects\Agbis.dxe\ForAll\QStrings.pas(318) Warning: W1023 Comparing signed and unsigned types - widened both operands | ||
+ | </code> | ||
+ | |||
+ | Поля отделяются друг от друга **" : "**. Рассмотрим строку:\\ | ||
+ | - **Targets** - неиспользуемое значение - "c:\Program Files (x86)\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Delphi.Targets" | ||
+ | - **Тип ошибки** - используем только строки со значением **"warning"** | ||
+ | - **Описание ошибки** - текст типа "E:\_Projects\Agbis.dxe\ForAll\QStrings.pas(318) Warning: W1023 Comparing signed and unsigned types - widened both operands" | ||
+ | |||
+ | === Порядок выполнения загрузки лога TLogDelphi.Load === | ||
+ | |||
+ | - Загрузка текста из файла **LogDelphi** | ||
+ | - Общее количество предупреждений | ||
+ | - Наименование компилируемого проекта | ||
+ | - Загрузка записей в TItemLogDelphi | ||
+ | - считывается строка и выделяются поля **Targets**, **Тип ошибки**, **Описание ошибки** | ||
+ | * если поле **Тип ошибки** не равно **"warning"**, то строку игнорируем и переходим к следующей строке | ||
+ | * если поле **Тип ошибки** равно **"warning"**, то из поля **Описание ошибки** выделяются | ||
+ | - **Модуль** - наименование файла с предупреждением, номер строки - (E:\_Projects\Agbis.dxe\ForAll\QStrings.pas). Имя файла может быть полным или относительно папки проекта. | ||
+ | - **Строка** - номер строки в модуле, в которой возникло предупреждение (318). | ||
+ | - **Код** - Код типа предупреждения (W1023) | ||
+ | - **Описание** - Описание предупреждения (Comparing signed and unsigned types - widened both operands) | ||
+ | - Ищется запись в таблице "Типы предупреждений" по значению **Код** | ||
+ | * если запись найдена и неактивна, то строку игнорируем и переходим к следующей строке | ||
+ | * если запись найдена и активна, то продолжаем анализ | ||
+ | * если запись не найдена, то добавляется активная запись в "Типы предупреждений" | ||
+ | - Ищется запись в таблице "Лог изменений модулей" по значению **Модуль** | ||
+ | * если запись не найдена, то строку игнорируем и переходим к следующей строке (некому поручать исправления) | ||
+ | * если запись найдена, то считываются значения полей **Разработчик** и **E-MAIL** | ||
+ | - добавляется запись в "Лог компиляции проекта" | ||
+ | |||
+ | ===== Дополнительная информация ===== | ||
+ | |||
+ | * [[:dw_TFormLogHG|Лог изменений модулей]]\\ | ||
+ | * [[dw_tformwarningtypes|Типы предупреждений]]\\ | ||
+ | * [[:dw_TFormOrder|Поручения разработчикам]]\\ | ||
+ | |||
+ | [[develop:at_delphiwarnings|Назад]]\\ | ||
+ | |||