Erro: [DCC Warning] uCadModelo.pas(405): W1057 Implicit string cast from AnsiString to string

Delphi

27/12/2011

Bom dia galera, tenho o seguinte trecho de código que está dando erro.
  modoEdicao:= frmPrincipal.QryLogin.FieldByName(ESTADOS_I).AsAnsiString +
  modoEdicao:= frmPrincipal.QryLogin.FieldByName(ESTADOS_A).AsAnsiString +
  modoEdicao:= frmPrincipal.QryLogin.FieldByName(ESTADOS_E).AsAnsiString;
  Executar:= exibeBotoes;


Tenho uma property TExecutar = (exibeBotoes);
Uma Variável Global: modoEdicao: String;
e na sequência o trecho de código:
procedure TfrmCadModelo.SetExecutar(const Value: TExecutar);
begin
  FExecutar := Value;
  case value of
  {Exibe os botões de acordo com o Perfil do Usuário}
   exibeBotoes:
   begin
    if modoEdicao = FFF then
      begin
        btnIncluir.Visible := False;
        btnAlterar.Visible := False;
        btnExcluir.Visible := False;
        btnMarcar.Visible  := False;
        btnSalvar.Visible  := False;
        btnCancelar.Visible:= False;
        Separador2.Visible := False;
        Separador3.Visible := False;
      end; // OBS o código não para aqui, ele continua, mas para economizar espaço coloquei só o começo.

Pesquisando no Google, vi que é sobre a conversão de String para AsAnsiString. Só que não consegui fazer isso.
Desde já onbrigado pela antenção.
Adilson Rumao

Adilson Rumao

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

27/12/2011

Porque você não pega os dados através do AsString?
Outra coisa, isto não é um erro, é um alerta WARNING, para alertar em caso de incompatibilidade.

Espero ter colaborado.
GOSTEI 0
Adilson Rumao

Adilson Rumao

27/12/2011

Bom dia Wilson, então ele não rodava o programa depois disso. Eu uso AsAnsiString pois uso o Delphi 2010 e em muito lugares
ouvi recomendação para não usar AsString nele.
Passei aqui para agradecer sua atenção e dizer que resolvi o problem(aliás, não era problema e sim burrice.) Minhas linhas de código estavam erradas. Alterei para:

modoEdicao:= frmPrincipal.QryLogin.FieldByName(ESTADOS_I).AsAnsiString +
             frmPrincipal.QryLogin.FieldByName(ESTADOS_A).AsAnsiString +
             frmPrincipal.QryLogin.FieldByName(ESTADOS_E).AsAnsiString;

E compilou normalmente. Mais uma vez muito obrigado pela sua atenção.
GOSTEI 0
POSTAR