Fórum Verificar se Form já está aberto #349502
23/11/2007
0
Eu estou encontrando dificuldades em verificar se o meu form já está aberto. Eu tentei as alternativas que encontrei aqui na comunidade mas não está dando certo.
Em primeiro lugar, quero tentar explicar o que tem que acontecer:
- Eu chamo um form aonde eu executo algumas tarefas (até aí tudo normal). Nesse formulário, eu chamo uma outra tela de parâmetros caso o usuário não aceite o que o programa está mostrando.
- Nessa outra tela, eu aplico as novas configurações e chamo uma terceira tela.
- Na terceira tela eu executo as novas tarefas e outra vez pergunto se o usuário está satisfeito com o resultado apresentado. Caso ele não esteja, eu tenho que chamar a tela anterior novamente para que ele mais uma vez mude as configurações e a terceira tela seja novamente chamada.
Acontece que na hora de eu fechar a tela, eu tenho várias telas abertas e não estou conseguindo fechá-las.
Como eu resolvo esse problema?
Marcos.gandin
Curtir tópico
+ 0Posts
23/11/2007
Paullsoftware
function ChecaForm(aForm: Tform): Boolean; var I:Integer; begin ChecaForm := false; for I := 0 to Screen.FormCount -1 do if Screen.Forms[i] = aForm then begin ChecaForm := true; Break; end; end; (* ChecaForm *)
if ChecaForm(FrmUsuarios) then begin FrmUsuarios.BringToFront; FrmUsuarios.Focused; end else begin FrmUsuarios := TFrmUsuarios.Create(nil); FrmUsuarios.BringToFront; FrmUsuarios.Focused; end;
espero ter ajudado!! :wink:
Gostei + 0
23/11/2007
Marcos.gandin
E como tem que ser os meus forms? MDIChild?
Gostei + 0
23/11/2007
Paullsoftware
Não!!!!
Isso, devem ser MDIChild!!!
espero ter ajudado!!! :wink:
Gostei + 0
26/11/2007
Marcos.gandin
Não sei o que está acontecendo.
Eu fiz o que você sugeriu, mas não está dando certo.
Quando eu vou chamar o meu form, está dando a seguinte mensagem:
[b:946c4fd1c9]Cannot create form. No MDI forms are currently active.[/b:946c4fd1c9]
O que eu gostaria que me ajudasse é que me dissesse como eu chamo um form MDIChild e como eu fecho ele também.
É que eu vou poder ter ele várias vezes aberto, então, quando eu fechar, como devo proceder?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)