Dúvida com warning
29/01/2010
0
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;
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.
Curtir tópico
+ 0
Responder
Posts
31/01/2010
Emerson Nascimento
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.
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.
Responder
31/01/2010
Mauricio S.
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!
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!
Responder
Clique aqui para fazer login e interagir na Comunidade :)