Ir para conteúdo
  • Cadastre-se

dev botao

Fechar Formulário no Evento FormShow


Ver Solução Respondido por Rafael Moreira Neves,
  • Este tópico foi criado há 1680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá a todos,

Atualmente em meu sistema na tela principal existe um menu com a opção "Abrir Caixa"  e a opção "Abrir PDV", se o caixa não estiver aberto ao tentar carregar a tela do PDV o mesmo não consegue e recebe o alerta que "O Caixa encontra-se fechado", então o usuário vai na opção "Abrir Caixa" e realiza o procedimento em questão.

Agora quero mudar o passo a passo, quero eliminar esse menu de "Abrir Caixa" e deixar somente "Abrir PDV", unindo as 2 ações.

Quando o caixa estiver aberto estará tudo OK, pois o sistema irá chamar através de um ShowModal o frm_pdv para o operador trabalhar, mas quando o caixa estiver fechado a minha idéia é a seguinte:

1- Clicou em "Abrir PDV"

2 - Chamou o frm_pdv.ShowModal

3 - No Evento FormShow do frm_pdv verifica se o caixa está fechado, se sim chamar o frm_abrircaixa.ShowModal

4 - Ao fechar o frm_abrircaixa volta para o FormShow do frm_pdv e verifica se o caixa realmente foi aberto, se não, fecha o frm_pdv da tela principal

O problema é que não funciona o frm_pdv.Close no FormShow do próprio(frm_pdv). Alguém poderia me ajudar nessa?

  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
7 horas atrás, Rafael Moreira Neves disse:

Olá,

Tente esse comando: PostMessage(frm_pdv.Handle, WM_CLOSE, 0, 0);

Abraço

Obrigado pelo dica, funcionou perfeitamente meu amigo.

Só que rra ser sincero eu não estava gostando da maneira que eu fiz essa rotina, tinha muito código e não estava elegante esse fechamento do formulário no FormShow do mesmo.

Fiz uma mudança simples na rotina e acho que ficou bem melhor, agora o código está pequeno e eu não preciso mais fechar o form no evento FormShow do mesmo. Segue abaixo:

procedure PDV1Click;	
 begin
      if not(CaixaAberto) Then
        frm_abrircaixa.ShowModal;

      if CaixaAberto Then
        frm_pdv.ShowModal;
 end;

Agora eu chamo o frm_abrircaixa antes de chamar o frm_pdv, se e só se o caixa estiver fechado. Caso o caixa já esteja aberto eu pulo essa etapa e chamo o frm_pdv direto.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.