在Delphi中,您可以使用编译器指令禁用特定警告,例如
{$WARN USE_BEFORE_DEF OFF}
但是当我尝试用特定的提示做到这一点时,编译器表示它不知道{$ HINT}是什么,而我的undercore_style_name是从帮助文件中获取的.有没有办法做到这一点?
没有具体提示,但您可以全部禁用它们.
{$HINTS OFF} procedure MyProc; var i : integer; begin DoSomething; end; {$HINTS ON}
一点偏离主题:您应该注意编译器的提示和警告.它们不仅仅是为了好玩.编译器只是说"程序可能会以不同的方式工作,因为您的源代码不准确".
要发挥它真的安全,人们想做这样的事情:
function TopazGetText(const _s: string): string; begin {$IFOPT+} {$DEFINE HINTS_WERE_ON} {$HINTS OFF} {$ELSE} {$UNDEF HINTS_WERE_ON} {$ENDIF} Result := dzDGetText(_s, TOPAZ_TRANSLATION_DOMAIN); {$IFDEF HINTS_WERE_ON} {$HINTS ON} {$ENDIF} end;
不幸的是,似乎没有用于检查提示是否关闭的编译器指令,因此您无法执行此操作.(H +不是用于提示,而是用于长串).此外,HINTS OFF/ON在功能/程序中不起作用.
因此,您最终无条件地为整个功能打开和关闭提示:
{$HINTS OFF} function TopazGetText(const _s: string): string; begin Result := dzDGetText(_s, TOPAZ_TRANSLATION_DOMAIN); end; {$HINTS ON}
(编译器曾经告诉我,它无法内联dzDGetText,这是我在这种情况下并不关心的事情,我不想看到提示,因为这会阻止我(和我的同事)关心重要的提示.)