мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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|Назад]]\\
 +