Fórum Há como fazer função para abrir chamar e fechar um form #318807

10/04/2006

0

Bom dia amigos, fazemos muito em nossos sistemas o trio:

Application.CreateForm(TfCadCli, fCadCli);
fCadCli.ShowModal;
fCadCli.Release;


Existe como fazer uma função tipo:

function AbreForm(nomeform: string);
begin
Application.CreateForm(T"nomeform", "nomeform");
"nomeform".ShowModal;
"nomeform".Release;    
end;


Depois para abrir o form:

AbreForm(´Cadastro_Clientes´)


Att
Mario


Aldus

Aldus

Responder

Posts

10/04/2006

Paullsoftware

Eu uso essa:

procedure ChamaForm(fClass:TFormClass; Form:TForm);
begin
 try
  Application.CreateForm(fClass,Form);
  Form.ShowModal;
  Finally
  Form.Release;
  Form:=nil;
 end;
end;

:wink:


Responder

Gostei + 0

10/04/2006

Aldus

Olá Paulo, a rotina abriu o form, mas depois dele aberto ocorreu o seguinte erro:

Acess violation at adress 999999 


E chamando-o pelo modo normal, não ocorre o referido erro.
após declarar a function, chamei-a da seguinte forma:

 AbreForm(TfCadPro,fCadPro);


No aguardo


Responder

Gostei + 0

10/04/2006

Paullsoftware

para usar usar a função acima os forms devem estar na Lista de Avaliable Forms em [b:1b80f43609]Project >> Options >> forms[/b:1b80f43609]...


Responder

Gostei + 0

10/04/2006

Aldus

Obrigado Paulo, funcionou perfeitamente.

Mario


Responder

Gostei + 0

10/04/2006

Ricardoif

criei essa rotina e funciona blz

[b:68491d4804]procedure [/b:68491d4804]fShowModal(TFormulario: TComponentClass; [b:68491d4804]var [/b:68491d4804]Formulario);
[b:68491d4804]begin[/b:68491d4804]
[b:68491d4804] try[/b:68491d4804]
Application.CreateForm(TFormulario, Formulario);
TForm(Formulario).ShowModal;
[b:68491d4804] finally[/b:68491d4804]
TForm(Formulario).Release;
FreeAndNil(TForm(formulario));
[b:68491d4804] end;
end;[/b:68491d4804]


fShowModal(TForm1,Form1);


Responder

Gostei + 0

10/04/2006

Aldus

Olá ricardo utilizei sua dica e funcionou melhor, pois não preciso carregar os forms ao iniciar o sistema.

De qualquer forma, obrigado a ajuda de todos.

Mario


Responder

Gostei + 0

24/12/2006

Mmoreira

Ola a todos!

Estou precisando fazer a mesma coisa, porem com forms do tipo MDI. E tem outra coisa nao posso permitir que o mesmo form seja aberto mais de uma vez e gostaria que esta ferificação ficasse na Procedure.
Alguem pode me ajudar?

valew


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar