Como verificar se um form foi criado
Olá pessoal!
Estou utilizando o seguinte código para abrir meus formulários:
O problema é que não consigo verifica se o Frm_CadCliente foi criado ou não usando o comando Assigned(Frm_CadCliente).
Existe outra forma de fazer isso??
Agradeço desde já qualquer ajuda...
Estou utilizando o seguinte código para abrir meus formulários:
with TFrm_CadCliente.Create(nil) do
begin
try
ShowModal;
finally
Free;
end;
end;
O problema é que não consigo verifica se o Frm_CadCliente foi criado ou não usando o comando Assigned(Frm_CadCliente).
Existe outra forma de fazer isso??
Agradeço desde já qualquer ajuda...
Vagner Almeida
Curtidas 0
Respostas
Joel Rodrigues
20/09/2013
Você não está conseguindo verificar por que está usando o with, logo, está criando uma nova instância do form e não usando a instância padrão (que leva o nome do form).
GOSTEI 0
Joel Rodrigues
20/09/2013
Teste o seguinte:
var
i:integer;
begin
with Application do
for i:=0 to componentcount-1 do
if components[i] is TFrm_CadCliente then
showmessage('form já criado');
end; GOSTEI 0
Marco Salles
20/09/2013
Olá pessoal!
Estou utilizando o seguinte código para abrir meus formulários:
O problema é que não consigo verifica se o Frm_CadCliente foi criado ou não usando o comando Assigned(Frm_CadCliente).
Existe outra forma de fazer isso??
Agradeço desde já qualquer ajuda...
Estou utilizando o seguinte código para abrir meus formulários:
with TFrm_CadCliente.Create(nil) do
begin
try
ShowModal;
finally
Free;
end;
end;
O problema é que não consigo verifica se o Frm_CadCliente foi criado ou não usando o comando Assigned(Frm_CadCliente).
Existe outra forma de fazer isso??
Agradeço desde já qualquer ajuda...
hummmm , mas onde vc utiliza este comando Assigned(Frm_CadCliente) ... Onde e porque ? Este tipo de teste é utilizado quando se utiliza o Show ou aplicações MDI
ao utilizar o ShowModal não faz muito sentido este teste salvo alguma situação particular
[]sds
GOSTEI 0
Vagner Almeida
20/09/2013
Obrigado...
GOSTEI 0
Eduardo Mendonça
20/09/2013
Faz assim
ai você testa se esta Criado e se esta Ativo
//Criado // Ativo
if Assigned(form1) and (form1.Active) then
begin
end;
ai você testa se esta Criado e se esta Ativo
GOSTEI 0
Marco Salles
20/09/2013
Faz assim
ai você testa se esta Criado e se esta Ativo
//Criado // Ativo
if Assigned(form1) and (form1.Active) then
begin
end;
ai você testa se esta Criado e se esta Ativo
Esta criado não significa estar ativo e o Assigned não testa se existe uma instancia , apenas que existe um endereço que não é NIL
veja um exemplo
var
form:TformQualquer;
begin
if Form <> Nil then // Deveria ser Nil pois o form não foi Criado e nen instanciado
showmessage('È DIFERENTE DE NIL , MAS COMO ????')
GOSTEI 0
Eduardo Mendonça
20/09/2013
vivendo e aprendendo!
GOSTEI 0