Fórum duvida sobre function #340291

12/04/2007

0

as vezes quando crio uma function fo Delphi fica mostrando a seguinte Warning:

ex:
[color=red:c679ca31a3]Value assigned to ´TForm1.MinhaFunction´ never used[/color:c679ca31a3]

function:
function TForm1.MinhaFunction: Boolean;
begin
  Result: False;
  try
    // ...
    Result := True;
  except
    raise exception.Create(´Erro ...´)
  end;
end;


exemplo de uso da function:
  if MinhaFunction then
    ShowMessage(´OK´)


Tudo bem que o aplicativo compila e roda mais a warning/Hint continua lá

porque acontece isso ????


Fabiano Góes

Fabiano Góes

Responder

Posts

12/04/2007

Massuda

O compilador está reclamando do ´Result := False´ que tem no início da função. Normalmente, não ocorre exceção e, portanto, esse False não é utilizado.

No caso de haver exceção, seu código gera outra exceção, o que na prática significa que a função não retorna. O raise da nova exceção desvia a execução para o próximo tratador de exceção.


Responder

Gostei + 0

12/04/2007

Fabiano Góes

O compilador está reclamando do ´Result := False´ que tem no início da função. Normalmente, não ocorre exceção e, portanto, esse False não é utilizado. No caso de haver exceção, seu código gera outra exceção, o que na prática significa que a função não retorna. O raise da nova exceção desvia a execução para o próximo tratador de exceção.


Massuda obrigado pela explicação, mais qual seria a maneira correta de criar uma função para evitar isso ?


Responder

Gostei + 0

12/04/2007

Massuda

Para sumir com o aviso, basta tirar o ´Result := False´.

Agora, depende do que você pretendia fazer... se sua intenção era ter uma função que retornasse False no caso de falhar, talvez o melhor fosse fazer...
function TForm1.MinhaFunction: Boolean; 
begin 
  try 
    // ... 
    Result := True; 
  except 
    Result: False; 
  end; 
end; 



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar