10 de jan. de 2011

como criar formulario ( delphi )

Qual a melhor maneira de criar forms em tempo de execucao:
a) Application.CreateForm(TfmClientes, fmClientes);
 Cria o Form; o proprietário é a aplicação.
b) fmClientes := TForm.Create(self);
 Cria o Form; o proprietário é ele mesmo.
c) fmClientes := TForm.Create(Application);
 Cria o Form; o proprietário é a aplicação.
d) fmClientes := TForm.Create(nil);
 Cria o Form; teoricamente sem proprietário; na prática é a aplicação.
e) fmClientes := TfmClientes.Create(self);
 Cria o Form; o proprietário é ele mesmo.
f) fmClientes := TfmClientes.Create(Application);
 Cria o Form; o proprietário é a aplicação.
g) fmClientes := TfmClientes.Create(nil);
 Cria o Form; teoricamente sem proprietário; na prática é a aplicação.
Poderiam me informar a diferenca entre elas?
 Quando você cria um Form dinamicamente:
1. se criar através de CreateForm, que é um método de TApplication, você passa como parâmetro
 a instância da classe e o nome do seu objeto (TfmClientes, fmClientes);
2. se criar através de Create - método de TForm, entre outros - você passa como parâmetro o 
proprietário do componente criado (no caso o Form).
  2.1 se o proprietário for a aplicação, o Form só será destruído quando você finalizar o 
aplicativo
     ou se você declarar Free ou Destroy no seu programa; (casos a, c, d, f, g);
  2.2 se o proprietário for ele mesmo (self), o form terá que ser destruído por você;
  2.3 se você criar, por exemplo, Form2 e passar como proprietário Form1; no momento em que
     Form1 for destruído, Form2 também o será.
Quanto à melhor maneira, depende de como você quer controlar a aplicação, mas leve em conta
 que enquanto um objeto não é destruído, ele está na memória.
Criando alias via programação
Se for para Paradox ...
      Session.AddStandardAlias('SeuAlias', edtPath.text, 'Paradox');
      Session.SaveConfigFile;

Nenhum comentário:

Postar um comentário