Fórum Duvidas ao Abrir Formularios #366195

15/11/2008

0

Boa tarde pessoal.

Estou com uma duvida, pesquisei pela net e pelos fóruns, mas ndd deu certo.

Estou dando manutenção num sistema e tem uma formulário de pedidos que tem um botão pra chamar o formulário de orçamentos e no form de orçamentos tem o botão pra abrir o de pedidos e com isso o usuario poderia abrir muitos formulários de cada dando erro ao fechar eles.


Pois bem, minhas duvidas são as seguintes:

Queria que quando clicar no botão de abrir o formulário de orçamentos ele fechasse o formulário atual. Tentei de varias formas mas sempre fica o outro aberto atras.

E outra coisa, queria que ao abrir o formulario de pedidos ele abrisse normal. E quando eu clicasse pra abrir o de orçamentos ele abrisse tambem. Mas quando clicasse pra abrir o de pedidos de novo ele pegasse o aberto e jogasse pra frente e eu pudesse editar os dados nele (tentei um bringtofront mas ele fica sem poder editar, meio estranho).

Acho que fui claro neh?

Qualquer coisa eu posto de novo.

Obrigado


Bruno6652

Bruno6652

Responder

Posts

15/11/2008

Abelha

Olá. Já fiz isso uma vez, mas não sei se é a melhor solução.

1º - Use ´Form.Show´ e não ´Form.ShowModal´;
2º - Nenhum dos dois Forms pode ser o principal, então selecione [b:4d7e99ab43]outro[/b:4d7e99ab43] form como principal na guia [b:4d7e99ab43]Project[/b:4d7e99ab43] e depois em [b:4d7e99ab43]Options[/b:4d7e99ab43].
3º - No botão do formulário de orçamentos:

FormPedidos.Show;
FormOrcamento.Close;// E no evento OnClose? Isso é com vc...


- No botão do Formulário de pedidos:

FormOrcamento.Show;
FormPedidos.close;


Implemente algum código no evento OnClose de cada formulário, se achar necessário. Por exemplo: salvar um registro que o usuário acabou de digitar.

Espero ter ajudado..


Responder

Gostei + 0

16/11/2008

Leonardo_age

Bom creio que o seu trabalho esteja sendo feito com formChild.

Faça o seguinte teste antes de chamar a função de createForm:

if Assigned(frm_Pedidos) then // O form já esta criado em memória
begin 
    frm_pedidos.Show; 
    ...
end else
begin 
   // Formulario não esta criado
   Application.CreateForm(tFrm_PEdidos, frm_Pedidos); 
   ...
end; 




Abraços


Responder

Gostei + 0

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

Aceitar