Alguem sabe como veficar se um certo componente já existe?

11/05/2003

0

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.


Afonso.f

Afonso.f

Responder

Posts

11/05/2003

Obubiba

[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 */


Responder

11/05/2003

Obubiba

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.


Responder

11/05/2003

Afonso.f

Valeu... mas eu descobri uma forma mais fácil e curta

If findcomponent(´nome_do_componente´)<>nil then
{...}
else
{...}

Valeu assim mesmo


Responder

11/05/2003

Obubiba

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


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar