Fórum Forms, identificador único para teste de existência #296032
19/09/2005
0
Testes para verificar se a janela já foi criada (já está em memória) costumam usar a propridade [b:9f770c12fa]Caption[/b:9f770c12fa]. Todas as rotinas que já vi usam esta propriedade. No entanto, ela pode ser repetida e modificada em um sistema com dezenas de formulários. Se o teste é feito sob o Windows, outra instância do sistema ou até mesmo outro aplicativo pode ter janelas com o mesmo nome. A propriedade [b:9f770c12fa]Name[/b:9f770c12fa] não pode ser modificada, mas outra instância do mesmo aplicativo teria forms com o mesmo valor na propriedade [b:9f770c12fa]Name[/b:9f770c12fa]. Pergunto, então:
Há como manipular um form através de um identificador único no Windows (handle)? Se sim, gostaria de um exemplo.
Há como manipular um form através de um identificador único no Windows (handle)? Se sim, gostaria de um exemplo.
José Cordeiro
Curtir tópico
+ 0
Responder
Posts
19/09/2005
Celamar
Eu costumo fazer da seguinte forma:
Tudo isso no evento que chamará o form...
Mas para isso o seu Form deve estar do lado direiro da seguinte tela:
Entre no menu Project, opção Options, veja que na aba Forms há duas listas:
Auto-create from e Avaliable forms, o form que vc deseja verificar se foi ou não criado deve estar na lista da direita (avaliable forms).
Aí é soh testar
if Form1 = nil then //verifica se foi criado Application.CreateForm(TForm1, Form1); //cria o form Form1.Show; //exibe o form
Tudo isso no evento que chamará o form...
Mas para isso o seu Form deve estar do lado direiro da seguinte tela:
Entre no menu Project, opção Options, veja que na aba Forms há duas listas:
Auto-create from e Avaliable forms, o form que vc deseja verificar se foi ou não criado deve estar na lista da direita (avaliable forms).
Aí é soh testar
Responder
Gostei + 0
20/09/2005
José Cordeiro
Celamar, a técnica funciona para verificar se a classe foi instanciada. Mas o que fazer quando for o caso de criar mais de uma instância da tela? Por exemplo, janelas do tipo Pesquisar, do Windows (é comum manter-se mais de uma aberta).
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)