Alguem sabe como veficar se um certo componente já existe?
Alguem sabe como veficar via programação se um certo componente já existe?
Exemplo:
Quero verificar se uma determinada janela com um certo no já foi criada.
Obrigado.
Exemplo:
Quero verificar se uma determinada janela com um certo no já foi criada.
Obrigado.
Afonso.f
Curtidas 0
Respostas
Obubiba
11/05/2003
[b:2e97d5a355]var[/b:2e97d5a355]
Existe: boolean;
Contador: smallint;
[b:2e97d5a355]begin[/b:2e97d5a355]
Existe := false;
[b:2e97d5a355]for[/b:2e97d5a355] Contador := 0 [b:2e97d5a355]to[/b:2e97d5a355] application.componentecount -1 [b:2e97d5a355]do[/b:2e97d5a355]
begin
[b:2e97d5a355]if[/b:2e97d5a355] application.components[Contador] [b:2e97d5a355]is[/b:2e97d5a355] TSeuComponente [b:2e97d5a355]then[/b:2e97d5a355]
Existe := true;
[b:2e97d5a355]end[/b:2e97d5a355];
[b:2e97d5a355]if[/b:2e97d5a355] Existe [b:2e97d5a355]then[/b:2e97d5a355]
/* Seu código */
Existe: boolean;
Contador: smallint;
[b:2e97d5a355]begin[/b:2e97d5a355]
Existe := false;
[b:2e97d5a355]for[/b:2e97d5a355] Contador := 0 [b:2e97d5a355]to[/b:2e97d5a355] application.componentecount -1 [b:2e97d5a355]do[/b:2e97d5a355]
begin
[b:2e97d5a355]if[/b:2e97d5a355] application.components[Contador] [b:2e97d5a355]is[/b:2e97d5a355] TSeuComponente [b:2e97d5a355]then[/b:2e97d5a355]
Existe := true;
[b:2e97d5a355]end[/b:2e97d5a355];
[b:2e97d5a355]if[/b:2e97d5a355] Existe [b:2e97d5a355]then[/b:2e97d5a355]
/* Seu código */
GOSTEI 0
Obubiba
11/05/2003
Ops... Faltou uma linha de código e um End;, o fórum tá com erro, e não consigo editar minhas msgs:
[b:d0d9eea83f]var[/b:d0d9eea83f]
Existe: boolean;
Contador: smallint;
[b:d0d9eea83f]begin[/b:d0d9eea83f]
Existe := false;
[b:d0d9eea83f]for[/b:d0d9eea83f] Contador := 0 [b:d0d9eea83f]to[/b:d0d9eea83f] application.componentecount -1 [b:d0d9eea83f]do[/b:d0d9eea83f]
[b:d0d9eea83f]begin[/b:d0d9eea83f]
[b:d0d9eea83f]if[/b:d0d9eea83f] application.components[Contador] [b:d0d9eea83f]is[/b:d0d9eea83f] TSeuComponente [b:d0d9eea83f]then[/b:d0d9eea83f]
[b:d0d9eea83f]begin[/b:d0d9eea83f]
[b:d0d9eea83f]if[/b:d0d9eea83f] TSeuComponente(application.components[Contador]) <> [b:d0d9eea83f]nil[/b:d0d9eea83f] [b:d0d9eea83f]then[/b:d0d9eea83f]
/* Se o componente não estiver como Nil, significa que já está criado e instanciado pela aplicação */
Existe := true;
[b:d0d9eea83f]end[/b:d0d9eea83f];
[b:d0d9eea83f]end[/b:d0d9eea83f];
[b:d0d9eea83f]if[/b:d0d9eea83f] Existe [b:d0d9eea83f]then[/b:d0d9eea83f]
/* Seu código */
[b:d0d9eea83f]end[/b:d0d9eea83f];
------------
Acho que agora tá certo.
[b:d0d9eea83f]var[/b:d0d9eea83f]
Existe: boolean;
Contador: smallint;
[b:d0d9eea83f]begin[/b:d0d9eea83f]
Existe := false;
[b:d0d9eea83f]for[/b:d0d9eea83f] Contador := 0 [b:d0d9eea83f]to[/b:d0d9eea83f] application.componentecount -1 [b:d0d9eea83f]do[/b:d0d9eea83f]
[b:d0d9eea83f]begin[/b:d0d9eea83f]
[b:d0d9eea83f]if[/b:d0d9eea83f] application.components[Contador] [b:d0d9eea83f]is[/b:d0d9eea83f] TSeuComponente [b:d0d9eea83f]then[/b:d0d9eea83f]
[b:d0d9eea83f]begin[/b:d0d9eea83f]
[b:d0d9eea83f]if[/b:d0d9eea83f] TSeuComponente(application.components[Contador]) <> [b:d0d9eea83f]nil[/b:d0d9eea83f] [b:d0d9eea83f]then[/b:d0d9eea83f]
/* Se o componente não estiver como Nil, significa que já está criado e instanciado pela aplicação */
Existe := true;
[b:d0d9eea83f]end[/b:d0d9eea83f];
[b:d0d9eea83f]end[/b:d0d9eea83f];
[b:d0d9eea83f]if[/b:d0d9eea83f] Existe [b:d0d9eea83f]then[/b:d0d9eea83f]
/* Seu código */
[b:d0d9eea83f]end[/b:d0d9eea83f];
------------
Acho que agora tá certo.
GOSTEI 0
Afonso.f
11/05/2003
Valeu... mas eu descobri uma forma mais fácil e curta
If findcomponent(´nome_do_componente´)<>nil then
{...}
else
{...}
Valeu assim mesmo
If findcomponent(´nome_do_componente´)<>nil then
{...}
else
{...}
Valeu assim mesmo
GOSTEI 0
Obubiba
11/05/2003
Realmente. Não estava me lembrando da função findcomponent().
E alalisando melhor meu código, aidna tá falando uma linha pra poder preencher a variável Existe:
if TSeuComponente(application.components[Contador]).name = ´Nome´ then
E alalisando melhor meu código, aidna tá falando uma linha pra poder preencher a variável Existe:
if TSeuComponente(application.components[Contador]).name = ´Nome´ then
GOSTEI 0