Dúvida com warning

Delphi

29/01/2010

Colegas;
Na procedure abaixo o Delphi está apontando o seguinte Warning:
H2077 Value assigned to 'wcControle' never used

Sabem me dizer por que? Afinal, o componente wcControle está sendo usado na linha grifada em vermelho. Na minha opinião este Warning não deveria estar sendo mostrado, estou errado?

procedure TfrmProcuraCidade.Validar;
var
  sAux       : String;
  wcControle : TWinControl;
begin
  inherited;
  wcControle := TWinControl.Create(Self);

  if edtIDCidadeDB.Visible then
  begin
    sAux       := edtIDCidadeDB.Text;
    wcControle := edtIDCidadeDB;
  end
  else
  begin
    sAux       := edtIDCidade.Text;
    wcControle := edtIDCidade;
  end;

  if StrToIntDef(sAux, 0) = 0 then
  begin
    edtNomeCidade.Clear;
    edtUF.Clear;
  end
  else
  begin
    if ValidaCodigoCidade(sAux) = False then
    begin
      Mensagem('Código da cidade inválido!', wcControle, False, True, True);
    end;
    edtNomeCidade.Text := RetornaNomeCidade(sAux);
    edtUF.Text         := RetornaUF(StrToIntDef(sAux,0));
  end;
end;
Mauricio S.

Mauricio S.

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

29/01/2010

Você está errado (geralmente o Delphi informa a qual linha o erro se refere).

O compilador está apontado para a linha
  wcControle := TWinControl.Create(Self);
o valor da linha acima não será usado.

Você está instanciando a classe e depois associa a variável wcControle à edtIDCidadeDB ou edtIDCidade, o que indica que o valor da linha wcControle := TWinControl.Create(Self); realmente nunca será usado e a linha é desnecessária.


GOSTEI 0
Mauricio S.

Mauricio S.

29/01/2010

Emerson;
Eu sabia que ele estava apontado para a linha:
wcControle := TWinControl.Create(Self);

Eu achei que era necessário primeiro instânciar o componente para depois poder associá-lo. Mas agora vi que não precisa, eu retirei a linha acima e continuou funcionando normalmente.

Obrigado!
GOSTEI 0
POSTAR