Esse artigo faz parte da revista Clube Delphi Edição 75. Clique aqui para ler todos os artigos desta edição

eqn="prod @2 1 2">

Figura 1. Definindo o comportamento de criação dos formulários do projeto

 

Uma observação apenas é que se o formulário a ser chamado estiver definido dentro da seção Auto-create forms, não precisamos criar a mesmo via código, isso é, basta fazer a chamada ao método Show (ou ShowModal) para visualizar o formulário.

Já se o formulário estiver definido como Available forms precisaremos criar o mesmo através de seu construtor (método Create) antes de invocar o método Show para mostrá-lo na tela.

 

Nota: Você pode especificar a seção para que um formulário seja adicionado por padrão quando for criado (opção New Form) durante o projeto. Para isso, acesse a opção Tools>Environment Options>Designer e defina a opção Auto create forms & data modules disponível no item Module creation options.

 

2. Criando e destruindo formulários

Quando instanciamos um formulário em nossa aplicação através do seu construtor (método Create) e fazemos sua chamada através do método ShowModal para mostrar o mesmo ao usuário da aplicação, é importante destruirmos sua instancia quando o usuário fechar o mesmo.

Uma boa opção para garantir que o formulário sempre será destruído, mesmo que algum erro ocorra, é utilizar a instrução try...finally...end. Essa instrução garante que todo o código escrito dentro da seção finally será executado mesmo que algum erro grave ocorra na aplicação. Veja o exemplo na Listagem 1.

 

Listagem 1. Usando o bloco try...finally...end para criação de um formulário

FrmClientes := TFrmClientes.Create(Self);

try

  FrmClientes.ShowModal;

finally

  FrmClientes.Release;

  FrmClientes := nil;

eEnd;

 

No código da listagem anterior, criamos o FrmClientes e dentro do bloco try realizamos a chamada ao mesmo. Como estamos utilizando o método ShowModal, a aplicação só continuará a execução do código acima após o usuário ter fechado o FrmClientes. Quando essa operação ocorrer, o código do bloco finally será executado, realizando a destruição da instância do FrmClientes.

 

Nota: A instrução try...finally...end não funciona com o método Show, pois o mesmo não “trava” a aplicação até o formulário ser fechado. Nesse caso, o código do bloco finally será executado logo após a chamada ao método Show, não permanecendo assim o formulário disponível para o usuário realizar suas operações.

 

3. Utilizando Data Modules

Outra boa prática é fazer o uso de Data Modules na aplicação para separar os componentes de acesso a dados da interface com o usuário (formulários). Utilizando Data Modules, podemos separar as regras de negócio que fazem acesso ao banco de dados de nossos formulários além de podermos reutilizar os DataSets em diferentes formulários.

Dependendo do tamanho de sua aplicação é aconselhável ainda criar vários Data ...

Quer ler esse conteúdo completo? Tenha acesso completo