Dustin Venegas
Dustin Venegas

Reputation: 759

How do I turn specific Delphi warnings and hints off?

In CodeGear Delphi 2007, how can I turn specific warnings and hints off? I am attempting to turn off H2077 - Value assigned to 'varname' never used.

Upvotes: 6

Views: 10714

Answers (5)

Lars Truijens
Lars Truijens

Reputation: 43587

Hints? No specific.

You'll have to disable them all:

{$HINTS OFF}

Warnings?

{$WARN _name_of_warning_ OFF|ON|ERROR}

Check here for a full list

Upvotes: 16

Ian Boyd
Ian Boyd

Reputation: 256631

To remove a hint for a line of code that has the:

H2077 Value assigned to '%s' never used

You can wrap it in:

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

For example, from the buggy 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;

Note: Any code released into public domain. No attribution required.

Upvotes: 3

Allen Bauer
Allen Bauer

Reputation: 16842

You are not able to disable specific hints like you can with warnings. Hints are those things that would not have any potential adverse affects on your runtime code. For instance, when you see the hint "Value assigned to 'varname' never used" it is merely a suggestion for something you should probably "clean up" in your code, but it won't cause any potential runtime errors (other than your own logic errors, of course :-). Hints are always best addressed by tweaking the code.

Warnings, on the other hand, are those things that could possibly cause unintended runtime behaviors and really should be addressed. For instance, using a variable before assigning a value to it is clearly a case of an uninitialized variable and that can lead to "bad things." In the vast majority of times, warnings should be addressed by "fixing" the code. Even then, in certain circumstances you may deem the warning as a "false positive" and are certain the code is functioning correctly. In those cases, you can disable a specific warning. Disabling all warnings is dangerous.

Upvotes: 18

Mason Wheeler
Mason Wheeler

Reputation: 84540

What Lars said. Also, you can get the complete list of warnings and their current settings by pressing CTRL-O twice. It'll dump a list at the top of the current unit. You can look through there to find the one you need to change. Just remember to delete the list later, or people looking at the code later on will hate you. ;)

Upvotes: 4

Jim
Jim

Reputation: 4711

Why don't you instead change the code so the hint goes away? Those hints are usually pretty accurate. And if you really feel that the line of code (I'm guessing some variable initialization or other) is useful to the reader of your code even if it is irrelevant to the compiler, you can replace it with a comment.

Upvotes: 9

Related Questions