Jen*_*off 12 delphi compiler-directives delphi-2007 suppress-warnings
我想在我的代码中禁用特定警告(W1035),因为我认为编译器对此警告是错误的:
function TfrmNagScreen.Run: TOption;
begin
if ShowModal = mrOk then
Result := TOption(rdgAction.EditValue)
else
Abort
end;
Run Code Online (Sandbox Code Playgroud)
因为Abort投掷,结果不可能是未定义的EAbort.
我试过了:
{$WARN 1035 Off}:显然这仅适用于某些特定错误(请参阅文档){$W-1035}:什么都不做我知道我可以在项目选项中全局关闭警告,或使用{$WARNINGS OFF},但这不是这里的意图.
编辑:我现在已经将QC作为#89744了.
RRU*_*RUZ 13
您无法全局禁用此警告,但您可以使用此选项{$WARN NO_RETVAL OFF}在本地禁用警告.
{$WARN NO_RETVAL OFF}
function TfrmNagScreen.Run: TOption;
begin
if ShowModal = mrOk then
Result := TOption(rdgAction.EditValue)
else
Abort
end;
{$WARN NO_RETVAL ON}
Run Code Online (Sandbox Code Playgroud)
我目前没有可用的Delphi编译器,但重新安排代码以删除if..else可能会使警告消失:
function TfrmNagScreen.Run: TOption;
begin
if ShowModal <> mrOk then
Abort;
Result := TOption(rdgAction.EditValue);
end;
Run Code Online (Sandbox Code Playgroud)
另请参见如何在Delphi中禁用有关"返回值...可能未定义"的警告?.