Problemas com ShowModal

Delphi

19/02/2003

Sou iniciante em Delphi e gostaria de saber uma coisinha.
Estou pedindo para criar um Formulário desta maneira:

Form := TForm.Create(Self);
Form.ShowModal;

Mas tá dando o seguinte erro:
´ Cannot make a visible window modal´

Se utilizar apenas Form.Show funciona, mas eu quero o ShowModal

Será que alguem pode me ajudar


Anonymous

Anonymous

Curtidas 0

Melhor post

Anonymous

Anonymous

19/02/2003

De repente pode ser por que o seu form ja está na memoria e vc esta tentando cria-lo novamente

pressione o ctrl+shift+F11 que ira aparecer a tela de project option dai passe o formulario para Avaliable forms e tente crialo

Form2 := TForm2.Create(Self)
Form2.ShowModal ;
Form2.Free //Se vc quiser tiralo da memoria apos o uso

Outra coisa a propriedade FormStyle do form deve estar com normal !

boa sorte


GOSTEI 2

Mais Respostas

Anonymous

Anonymous

19/02/2003

Mude a propriedade visible do Form para false.

Falô


GOSTEI 0
Viper0

Viper0

19/02/2003

ola pessoal...

essa e a primeira duvida q eu tento responder, se alguem tiver uma melhor, me ajude por favor!

mas e o seguinte:

criando um ´form´ com ´showmodal´ , a janel tem o controle da aplicacao e vc n pode fazer nada ate fechar esse ´form´ com ´showmodal´, agora somente ´show´ vc abre oq quiser mesmo com ele aberto!!!

espero q tenha ajudado...

aquele abraco...

viper0!!! :evil:


GOSTEI 0
Tchoninho

Tchoninho

19/02/2003

Para evitar este problemas eu utilizo sempre o comando try..finally
deste forma

try
Application.CreateForm(TForm1,Form1);
Form1.ShowModal;
finally
Form1.Free;
end;

assim o quando fecho a janela tenho certeza que liberou espaço na memória.

Espero ter ajudado!


GOSTEI 0
Mstange

Mstange

19/02/2003

Outra forma é a seguinte:

formNomedoForm:= TformNomedoForm.Create(Application);
formNomedoForm.ShowModal;

O estilo do formulário deve ser normal, se for mdi/mdichild deve ser carregado apenas com SHOW.


GOSTEI 0
Brunopbc

Brunopbc

19/02/2003

Uma janela não pode ser definida como modal estando ela ativa, mas pode ativada como modal. É necessário desativá-la(Escondê-la) antes.

Tente dar um [b:6959c1b535]Hide[/b:6959c1b535] antes de dar um showmodal.

Ex:
Form := TForm.Create(Self);
[color=red:6959c1b535][b:6959c1b535]Form.Hide;[/b:6959c1b535][/color:6959c1b535]
Form.ShowModal;


GOSTEI 0
POSTAR