Propriedade de Componente
Olá,
Gostaria de saber como faço para passar um certo valor para uma propriedade de um componente em tempo de execução da seguinte forma. Por exemplo:
ComponenteX.PropriedadeY := Single;
A ´PropriedadeY´ aceita os valores ´Single´ e ´Double´, porém não aceita que esses valores sejam passados como exemplo acima, nem através de variável ou string.
Como faço?
Rafael
Gostaria de saber como faço para passar um certo valor para uma propriedade de um componente em tempo de execução da seguinte forma. Por exemplo:
ComponenteX.PropriedadeY := Single;
A ´PropriedadeY´ aceita os valores ´Single´ e ´Double´, porém não aceita que esses valores sejam passados como exemplo acima, nem através de variável ou string.
Como faço?
Rafael
Rafaaugusto
Curtidas 0
Respostas
Motta
22/04/2005
Algumas prop´s são readonly.
GOSTEI 0
Massuda
22/04/2005
A ´PropriedadeY´ aceita os valores ´Single´ e ´Double´
Eu não entendi direito.... ´single´ e ´double´ seriam o tipo da variável/valor que está sendo atribuído à PropriedadeY ou você está querendo alterar o tipo da propriedade?GOSTEI 0
Rafaaugusto
22/04/2005
OK, mas estas não são read-only, elas aceitam outros valores como citei no exemplo. Porém não estou conseguindo fazer isso em tempo de execução...
GOSTEI 0
Rafaaugusto
22/04/2005
Single e Double são valores que poderão ser atribuídos à propriedade. Clicando no componente esses valores podem ser alterados normalmente, mas na execução, quando tento passar os valores ele dá erro de imcompatibilidade de dados...
GOSTEI 0
Massuda
22/04/2005
... mas na execução, quando tento passar os valores ele dá erro de imcompatibilidade de dados...
Daria para você postar aqui o código?GOSTEI 0
Rafaaugusto
22/04/2005
Ok, aí vai o código...
.
.
WaveAudio.SampleRate := ´b8Bit´;
.
.
Através das opções do componente WaveAudio, percebe-se que existem as seguintes: ´b8Bit´ e ´b16Bit´. As 2 podem ser acessadas normalmente e funcionam na execução normalmente.
Porém, o que eu queria é alterá-la não no desenvolvimento, mas sim na execução, conforme código acima.
O erro que aparece é:
TWaveBits and String - imcompatyble types
Já tentei passar sem as aspas, através de variável e não deu certo...
.
.
WaveAudio.SampleRate := ´b8Bit´;
.
.
Através das opções do componente WaveAudio, percebe-se que existem as seguintes: ´b8Bit´ e ´b16Bit´. As 2 podem ser acessadas normalmente e funcionam na execução normalmente.
Porém, o que eu queria é alterá-la não no desenvolvimento, mas sim na execução, conforme código acima.
O erro que aparece é:
TWaveBits and String - imcompatyble types
Já tentei passar sem as aspas, através de variável e não deu certo...
GOSTEI 0
Rjun
22/04/2005
WaveAudio.SampleRate := b8Bit;
GOSTEI 0
Massuda
22/04/2005
Ok, aí vai o código...
Faça como o Rogério escreveu... b8Bit e b16Bit já são constantes de tipo compatível com o da propriedade. Pense neles como algo similar a escrever clBlue (ao invés de $FF0000) quando atribui uma cor a algum componente.GOSTEI 0
Rafaaugusto
22/04/2005
Erro de novo...
Imcompatyble types novamente...
Imcompatyble types novamente...
GOSTEI 0
Massuda
22/04/2005
Erro de novo...
Que componente é o WaveAudio do seu código?GOSTEI 0
Rafaaugusto
22/04/2005
É um componente comum, está no mesmo formulário. Algumas das opções desse componente aceitam valores string, e isso está funcionando normalmente. Só essas que são de outros tipos aparece o erro ´imcompatible types´...
GOSTEI 0
Massuda
22/04/2005
... Só essas que são de outros tipos aparece o erro ´imcompatible types´...
Qual é o tipo da propriedade SampleRate? Pelo que você postou, deve ser um TWaveBits, mas não sei o que é isso. Quais são os tipos incompatíveis agora?Para poder ajudar, ficaria mais fácil se eu soubesse qual componente é esse WaveAudio; me parece que não é um componente padrão do Delphi, provavelmente é um componente de terceiros.
A princípio, fazer...
WaveAudio.SampleRate := b8Bit;
GOSTEI 0
Rafaaugusto
22/04/2005
OK...
O componente não é um padrão do delphi mesmo. Eu não estou com o código completo aqui agora, mas assim que pegar eu te mostro.
Obrigado.
O componente não é um padrão do delphi mesmo. Eu não estou com o código completo aqui agora, mas assim que pegar eu te mostro.
Obrigado.
GOSTEI 0