мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
dw_tformlogdelphi [03.05.2020 06:58] Анисютин ↷ Операцией перемещения обновлены ссылки |
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_tformwarrningtypes|Типы предупреждений]]\\ | ||
- | * [[:dw_TFormOrder|Поручения разработчикам]]\\ | ||
- | |||
- | [[:AT_DelphiWarnings|Назад]]\\ | ||
- | |||