ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dúvida em Fechar um Form...

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
dieguus
Novato
Novato


Registrado: Segunda-Feira, 22 de Abril de 2013
Mensagens: 29

MensagemEnviada: Ter Jul 16, 2013 8:01 pm    Assunto: Dúvida em Fechar um Form... Responder com Citação

Boa noite galera, peço um auxilio para vcs, Tenho um Form1 com dois speedbutton , e cada speedbutton abre o Form 2 e o outro o form3.
Bom, gostaria quando eu abrisse o form1 e clicasse o speedbutton1, que o form2 abrisse eo form1 ( anterior ) fechasse..

como eu faço??

obrigado pela atenção
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
flabed10
Novato
Novato


Registrado: Segunda-Feira, 22 de Abril de 2013
Mensagens: 63

MensagemEnviada: Ter Jul 16, 2013 8:12 pm    Assunto: Responder com Citação

SE O FORM1 FOR O FORM PRINCIPAL, EU ACHO QUE NÃO PODE FECHAR ELE.
VC PODE USAR O COMANDO Form1.hide PARA OCULTA-LO E Form1.show PARA MOSTRAR ELE DENOVO.

FICARIA ASSIM:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form1.Hide;
If Form2 = nil then
Form2:= TForm2.Create(nil);
Form2.Show;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dieguus
Novato
Novato


Registrado: Segunda-Feira, 22 de Abril de 2013
Mensagens: 29

MensagemEnviada: Ter Jul 16, 2013 10:43 pm    Assunto: Responder com Citação

flabed10 escreveu:
SE O FORM1 FOR O FORM PRINCIPAL, EU ACHO QUE NÃO PODE FECHAR ELE.
VC PODE USAR O COMANDO Form1.hide PARA OCULTA-LO E Form1.show PARA MOSTRAR ELE DENOVO.

FICARIA ASSIM:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form1.Hide;
If Form2 = nil then
Form2:= TForm2.Create(nil);
Form2.Show;
end;



Boa noite Mestre, deu um erro

First chance exception at $75DF812F. Exception class EAccessViolation with message 'Access violation at address 00487A96 in module 'Radiologia.exe'. Read of address 00000374'. Process Radiologia.exe (428)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
DDW
Novato
Novato


Registrado: Sábado, 13 de Julho de 2013
Mensagens: 4

MensagemEnviada: Ter Jul 16, 2013 11:15 pm    Assunto: Responder com Citação

Nunca vi esse erro. Tenta por o Form1.Hide no final do código.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
sergiotucano
Novato
Novato


Registrado: Domingo, 19 de Agosto de 2012
Mensagens: 87
Localização: Lorena, SP

MensagemEnviada: Qua Jul 17, 2013 11:27 am    Assunto: Responder com Citação

Pelo oque eu entendi....

FORM1
|
|SPB1 - Form2
|SPB2 - Form3

Ao clicar no SPB1 Abrir o 2 e fechar o 1 correto?

O problema do Access Violation é que você esta tentando chamar algo que não esta disponível e/ou não criado em memória.

Bom, você chama o Form2 e no onshow dele, tente Form1.Visible := False;

Wink
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipethadeu
Novato
Novato


Registrado: Quarta-Feira, 17 de Julho de 2013
Mensagens: 16

MensagemEnviada: Qua Jul 17, 2013 11:31 am    Assunto: Responder com Citação

Simples cara.

Coloca por exemplo

form2.show
form1.hide
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
3141592653589793238462643
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 4 de Julho de 2013
Mensagens: 163

MensagemEnviada: Qua Jul 17, 2013 11:35 am    Assunto: Re: Dúvida em Fechar um Form... Responder com Citação

dieguus escreveu:
Boa noite galera, peço um auxilio para vcs, Tenho um Form1 com dois speedbutton , e cada speedbutton abre o Form 2 e o outro o form3.
Bom, gostaria quando eu abrisse o form1 e clicasse o speedbutton1, que o form2 abrisse eo form1 ( anterior ) fechasse..

como eu faço??

obrigado pela atenção



Tente assim:

Form1.Hide; //Esconder o form1 (não pode-se fechar o form principal, pelo menos é oq o pessoal fala rçrç '-')

Form2.ShowModal; //Abrir o form2

Quando vc quiser fechar os 2, sem dar debug session (erro, pois vc fechará o 2 e o 1 ficará aberto, só q invisível [hide]), vá no events OnClose do form2 e coloque:

Application.terminate; //Esse serve para fechar os 2 forms, inclusive o 1 q tá invisível.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB