Как мне отключить определенные предупреждения и подсказки Delphi?

StackOverflow https://stackoverflow.com/questions/631902

Вопрос

Как я могу отключить определенные предупреждения и подсказки в CodeGear Delphi 2007?Я пытаюсь отключить H2077 - Значение, присвоенное 'varname', никогда не использовалось.

Это было полезно?

Решение

Намеки? Никаких конкретных.

Вам придется отключить их все:

{$HINTS OFF}

Предупреждения?

{$WARN _name_of_warning_ OFF|ON|ERROR}

Проверьте здесь, есть ли полный список

Другие советы

Вы не можете отключить определенные подсказки, как с предупреждениями. Подсказки - это те вещи, которые не будут иметь потенциальных негативных последствий для вашего кода времени выполнения. Например, когда вы видите подсказку " Значение, присвоенное 'varname', никогда не использовалось " это всего лишь предложение для чего-то, что вы, вероятно, должны "очистить" в вашем коде, но это не вызовет никаких потенциальных ошибок времени выполнения (кроме ваших собственных логических ошибок, конечно :-). Подсказки всегда лучше всего решать путем настройки кода.

Предупреждения, с другой стороны, это те вещи, которые могут вызывать непреднамеренное поведение во время выполнения, и действительно должны быть устранены. Например, использование переменной перед присвоением ей значения - это, очевидно, случай неинициализированной переменной, который может привести к «плохим вещам». В подавляющем большинстве случаев предупреждения должны обрабатываться путем «исправления». код. Даже тогда, при определенных обстоятельствах, вы можете считать предупреждение «ложным срабатыванием». и уверены, что код работает правильно. В этих случаях вы можете отключить конкретное предупреждение. Отключение всех предупреждений опасно.

Почему бы вам не изменить код, чтобы подсказка исчезла? Эти подсказки обычно довольно точны. И если вы действительно чувствуете, что строка кода (я предполагаю некоторую инициализацию переменной или другую) полезна для читателя вашего кода, даже если она не имеет отношения к компилятору, вы можете заменить ее комментарием.

Что сказал Ларс. Кроме того, вы можете получить полный список предупреждений и их текущих настроек, дважды нажав CTRL-O. Это выведет список вверху текущего блока. Вы можете просмотреть там, чтобы найти тот, который вам нужно изменить. Просто не забудьте удалить список позже, или люди, которые будут смотреть код позже, будут вас ненавидеть. ;)

Чтобы удалить подсказку для строки кода, которая имеет:

  

H2077 Значение, присвоенное '% s', никогда не использовалось

Вы можете обернуть это в:

{$HINTS OFF}
//...
{$HINTS ON}

Например, из глючного Vcl.ComCtrls.pas :

procedure TTrackBarStyleHook.Paint(Canvas: TCanvas);
//....
begin
   if not StyleServices.Available then Exit;

   {$HINTS OFF}
   Thumb := ttbTrackBarDontCare; //value assigned to 'Thumb' never used
   {$HINTS ON}

   //...
end;
  

Примечание . Любой код, опубликованный в открытом доступе. Атрибуция не требуется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top