Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Na sequência , a título de melhorar o exemplo foi resgatado o valor informado ao campo “AUTORIZACAO” através da função “ValorNaTela” e comparado se o valor informado já não cumpre o que se espera como regra personalizada (valor possuir 7 caracteres). Caso não atenda a regra personalizada o objeto do tipo TFormValidacao é criado, o valor atual informado é atribuído ao valor atual do componente, e a tela é apresentada a partir do método ShowModal. Conforme o resultado do ShowModal o novo valor é atribuído em tela ou uma mensagem de erro é adicionada a tela do cadastro não permitindo salvar a informação sem que seja resolvida a situação. No “finallyimportante destacar a chamada do método “free” evitando que o formulário e seus componentes fiquem em memória.

Segue o código completo do da unit “uPrinc” utilizada nesse exemplo:

Code Block
languagedelphi
uses
  uFormValidacao;

var                       
  form : TFormValidacao;
  cAutorizacao : String;
begin            
  cAutorizacao := Trim(FFormPadraoRHCAGEDRESP.ValorNaTela('AUTORIZACAO')) 
  if (Length(cAutorizacao) < 7) then
    begin                                
    form := TFormValidacao.Create(nil);
    try                  
      form.edAutorizacao.Text := cAutorizacao;
      if (form.Showmodal = mrok) then
        FFormPadraoRHCAGEDRESP.ValorParaTela('AUTORIZACAO', form.edAutorizacao.Text)
      else                    
        FFormPadraoRHCAGEDRESP.AddErro(FFormPadraoRHCAGEDRESP.EditorDaColuna('EB_','AUTORIZACAO'),
                      'Autorização deve ter 7 dígitos');
    finally
      form.free;
    end;
  end;                       
end;        

Evidenciando boas práticas

  1. Uso do ShowModal
    Para o caso dos script´s para eventos em que se espera um resultado a partir da execução de um formulário, é uma boa prática que esse formulário seja aberto com ShowModal. Sem usar o ShowModal e sim o Show corre o risco do usuário clicar fora da tela e o formulário criado ser sobreposto causando dificuldade ao usuário.

  2. Uso do Free
    Importante sempre usar o método “Free”, inclusive quando instanciado formulários. O não uso deixa objetos perdidos em memória que podem causar problemas na utilização do sistema.