Je veux désactiver un avertissement spécifique (W1035) dans mon code, car je pense que le compilateur se trompe sur cet avertissement:Comment puis-je désactiver temporairement l'avertissement "return value could be unfined"?
function TfrmNagScreen.Run: TOption;
begin
if ShowModal = mrOk then
Result := TOption(rdgAction.EditValue)
else
Abort
end;
Il n'y a aucun moyen le résultat pourrait être indéfini, puisque Abort
lancers francs EAbort
.
J'ai essayé:
{$WARN 1035 Off}
: Apparemment, cela ne fonctionne que pour quelques erreurs spécifiques (voir Documentation){$W-1035}
: Est-ce que rien
Je sais que je peux désactiver l'avertissement globalement dans les options du projet, ou en utilisant {$WARNINGS OFF}
, mais ce n'est pas ce qui est prévu ici.
Éditer: Je l'ai QC maintenant comme #89744.
Alors que c'est vrai le compilateur est parfois confus et signale cet avertissement sans cause, dans ce cas le compilateur est techniquement correct. Le résultat n'est pas affecté avant le conditionnel et n'est affecté que sur la vraie branche du conditionnel. Le fait que la fonction retourne prématurément si la condition est fausse est sans importance pour le compilateur. –
@codeelgance: Tout à fait vrai, mais je pense que 'Abort' est une fonction intégrée et le compilateur pourrait reconnaître la situation. –