duvida sobre function
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:
exemplo de uso da function:
Tudo bem que o aplicativo compila e roda mais a warning/Hint continua lá
porque acontece isso ????
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
Curtidas 0
Respostas
Massuda
12/04/2007
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.
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.
GOSTEI 0
Fabiano Góes
12/04/2007
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 ?
GOSTEI 0
Massuda
12/04/2007
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...
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;
GOSTEI 0