Propriedade TCollection

Delphi

06/05/2004

Estou implementando um componente que tem uma propriedade que é to tipo TCollection.

Ja criei as classes herdades de TCollection e TItemColletion.
Implementei os métodos de Get e Set da classe criada de TCollection. Compila e cria o componente, mas quando clico no botão ´...´ correspondente à propriedade não acontece nada.
Devo implementar mais algum código para exibir a interface para gerenciamento de ´Items´ padrão do delphi.

Qualquer ajuda é bem vinda.

Obrigado,
Adriano Silveira.


Adsilver

Adsilver

Curtidas 0

Respostas

Adsilver

Adsilver

06/05/2004

Eu até consegui fazer o que queria... faltou criar o TCollection no create do componente.
Agora minha dúvida é a seguinte:
Como faço para capturar o gerenciamento dos itens (inclusão, exclusão e alteração)??? Preciso manipular meus itens de coleção no momento em que eles são gerenciados.
Por exemplo, quando adiciono uma coluna para o ListView, ele automaticamente é exibido no componente.

Obrigado,
Adriano Silveira.


GOSTEI 0
Fórum Vini

Fórum Vini

06/05/2004

Olá,
Estou implementando um componente que tem uma propriedade que é to tipo TCollection.

Você não pode criar uma propriedade que seja do tipo TCollection, a sua propriedade deve ser do tipo da classe herdada de TCollection...
Implementei os métodos de Get e Set da classe criada de TCollection. Compila e cria o componente, mas quando clico no botão ´...´ correspondente à propriedade não acontece nada.

Também já quebrei a cabeça muito com isso.. :wink:
-.Certifique-se de estar instanciando a classe no construtor do seu componente
-.Você deve também sobrecarregar o método protected GetOwner, retornando o proprietário da sua Collection

Uma boa ajuda pode ser também ´imitar´ a implementação da classe TStatusPanel, foi ela que me ´ensinou´ a usar TCollections..

Qualquer dúvida pode me falar,
T+,
Vinicius;


GOSTEI 0
Adsilver

Adsilver

06/05/2004

Amigo,

Eu herdei uma classe para usar de propriedade, apenas citei sendo da TCollection para ilustar a situação. No fim das contas, eu consegui criar a propriedade normalmente. O problema agora é outro....
Na janela padrão do editor da TCollection (como a da Columns do ListView), quando adiciona, remove, altera, ou seja, gerencia os objetos de coleção eu nao estou conseguindo caputar essas açoes. Por exemplo:
Quando adiciono um objeto de coleção para Columns da ListView, no mesmo momento ele cria a coluna e exibe em tempo de projeto. Eu gostaria de fazer o mesmo. Entendeu?
De qualquer maneira, valeu pela ajuda.....
Abraços,
Adriano Silveira.


GOSTEI 0
Fórum Vini

Fórum Vini

06/05/2004

Estou sem Delphi aqui, então naum deu pra confirmar o que estou dizendo:
Você está guardando o proprietário do objeto, ok? (Se naum estiver, modifique o construtor e passe a guardar..)
Agora crie uma procedure Changed(por exemplo) no seu proprietário e chame-a no Add e Delete da collection..

Qualquer dúvida pode me falar,
t+,
Vinicius;


GOSTEI 0
POSTAR