====== Лог компиляции проекта ====== Форма **"Лог компиляции проекта"** открывается из главного меню программы кнопкой **"Лог компиляции проекта"**.\\ Форма отображает список предупреждений, которые выдал компилятор Delphi.\\ Каждому предупреждению сопоставляется программист, который должен будет исправить программу для удаления предупреждения. {{:pasted:20200418-145931.png}}\\ ==== Информационные поля ==== * **Количество записей в логе** - общее количество предупреждений в файле лога компиляции проекта.\\ * **Количество записей в объекте** - количество записей в объекте меньше чем "Количество записей в логе" так, как исключаются записи с неактивными типами предупреждений.\\ * **Проект** - Папка проекта Delphi. Считывается из лога компиляции проекта * **Файл лога компиляции проекта** - Файл, в который выгружен лог компиляции проекта. Считывается из настройки **BuildLog**. ==== Поля в таблице ==== * **Код** - Код типа предупреждения * **Описание** - Описание предупреждения * **Модуль** - наименование файла с предупреждением * **Строка** - номер строки в модуле, в которой возникло предупреждение. * **Разработчик** - программист, который вносил изменения. Добавляется из лога изменений модулей * **E-MAIL** - E-MAIL программиста. Добавляется из лога изменений модулей ==== Кнопки ==== * **Импорт лога компиляции** - повторно загружает значения в объект **LogDelphi**. ==== Импорт лога компиляции ==== === Формат файла лога компиляции проекта === Наименование компилируемого проекта берется из строки вида Проект "E:\_Projects\Agbis.dxe\Mailing\Mailing.dproj" (цели Build): Контрольная сумма - общее количество предупреждений берется из строки вида 543 Предупреждение Формат строки предупреждения 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 Поля отделяются друг от друга **" : "**. Рассмотрим строку:\\ - **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|Назад]]\\