Array
(
)

Form2 sobre o Form1

Redoctober
   - 05 jan 2006

Form1 -> Principal
Form2 -> Login

Preciso exibir a tela de login(Form2) sobre a tela principal(Form1) ao abrir a aplicação.

Abraços


Eixox
   - 06 jan 2006

no evento onShow do form 1 faça:

Form1.Enable := False;
Form2 := TForm2.Create(Self);
Form2.ShowModal;

lá no form2 você não pode esquecer de fazer que quando o login seja realizado com sucesso ele habilite novamente o Form1. Senão sai do sistema após determinado número de vezes.


Redoctober
   - 06 jan 2006

Nao deu certo:

Erro:
---

Cannot make a visible window modal

---

Então tentei abrir somente com modal, como descrevo abaixo:

Aterado:
---

Form1.Enabled := false;
Form2 := TForm2.Create(Self);
Form2.ShowModal;

---

Sendo com o codigo acima, o form1 ficou em cima do form2. Ou seja, totalmente ao contrário do esperado.

Espero que ajudem.

Abraços.


Caninha51
   - 06 jan 2006

o código do eixox funcionou perfeitamente aki.
Porém naum vejo a necessidade de desabilitar e habilitar o form1, já q está se usando um modal.


Eixox
   - 06 jan 2006

Não esqueça de que o form2 deve ser passado para o lado direito em PROJECT > OPTIONS - Aba FORMS

Form2 := TForm2.Create(Self);
Form2.ShowModal;
Form2.Update;

E ai respondendo a questão colocada pelo amigo Caninha 51, eu desabilito o form só por garantia de que o cara não arranje um jeito de fechar a janela de login e acessar o sistema. Assim o form1 fica desabilitado e só se torna habilitado quando o login é realizado com sucesso.