quarta-feira, 25 de novembro de 2009

Uma boa forma de usar mdichild

{Quando uso este recurso nas minhas aplicações eu consigo reduzir em muito o tempo de carregamento do software, sendo assim, resolvi partilhar com todos.

É simples, baseada em uma função (FormExiste), que verifica se um form (MDIChild) já existe na memória. Se existir ele somente dá o foco ao mesmo, senão ele o cria e o deixa na tela pronto para funcionar...

Deixando de conversa, vamos ao código!}

//Função de reconhecimento de MDIChilds
function FormExiste(NomeJanela : TForm) : Boolean;
//Função declarada

//Implementando a função
function TForm1.FormExiste (NomeJanela : TForm) : Boolean;
var i : integer;
begin
formexiste := false;
for i := 0 to ComponentCount -1 do
if Components[i] is TForm then
if TForm(Components[i]) = NomeJanela then
FormExiste := true;
end;

{Para fazer uso correto da função você deve
seguir o exemplo do procedimento abaixo}
procedure TForm1.Button1Click(Sender: TObject);
begin
if FormExiste(frmAlunos) = false then
begin
Screen.Cursor := crhourGlass;
Form2 := TForm2.Create(Self);
Screen.Cursor := crDefault;
end
Else
if FormExiste(Form2 then
begin
Form2.WindowState := wsNormal;
Form2.BringToFront;
Form2.SetFocus;
end;
end;

{Certo?

Espero ter ajudado!

Evaldo Barbosa
evaldobarbosa@hotmail.com}

Nenhum comentário:

Postar um comentário