Verificar se uma Propriedade existe em um componente.
Verificar se uma Propriedade existe em um componente.
Galera, tenho o seguinte código:
O problema é que se o componente não possuir a propriedade Enabled, um Access Violation é retornado. Eu sanei o problema com um simples Try..Except..End; assim :
ou seja, neste caso o erro acontece, mas o algoritimo continua sendo executado. Mas fica a dúvida:
Será que não é possível testar a propriedade antes de usá-la?
Seria mais inteligente se isso fosse possível.
Galera, tenho o seguinte código:
for I := 0 to ComponentCount-1 do begin if not (TWinControl(Components[I]).Name = ´btnCancelar´) then begin TWinControl(Components[I]).Enabled := False; end; end;
O problema é que se o componente não possuir a propriedade Enabled, um Access Violation é retornado. Eu sanei o problema com um simples Try..Except..End; assim :
for I := 0 to ComponentCount-1 do begin if not (TWinControl(Components[I]).Name = ´btnCancelar´) then begin Try TWinControl(Components[I]).Enabled := False; Except End; end; end;
ou seja, neste caso o erro acontece, mas o algoritimo continua sendo executado. Mas fica a dúvida:
Será que não é possível testar a propriedade antes de usá-la?
Seria mais inteligente se isso fosse possível.
Adriano Santos
Curtidas 0
Respostas
Flaviosan
17/03/2004
olha cara, nao sei se tem como fazer isso, mas se voce testar se o referido componente é decendente da classe TControl, talvez funcione, pois é nesta classe onde foi implementado a propriedade enabled.
espero ter ajudado.
flaviosan :P
espero ter ajudado.
flaviosan :P
GOSTEI 0
Adriano Santos
17/03/2004
Hum, verdade acho que posso fazer isso fácil fácil.
valeu
valeu
GOSTEI 0
Flaviosan
17/03/2004
aí, se voce conseguir, coloca aqui no forum a soluçao, a titulo de curiosidade, pois quem sabe mais alguem necessite de algo parecido, valeu.
Flaviosan :P
Flaviosan :P
GOSTEI 0