2008/10/22 Vinicius Santos - MSI <[EMAIL PROTECTED]>:
> Desculpe, é um ponteiro para um objeto...
> É que eu estou trabalhando um componente que é herdado de outro
> componente no qual não tenho o código fonte :(
> Então o ponteiro ancestral apaga o tal objeto e eu fico a ver navios sem
> o código fonte...
>
> Eu precisava "validar" se um ponteiro realmente é valido...É claro que o
> try/except resolve meu problema, porém não achei a solução muito
> elegante, e existe o mesmo problema em outros lugares, então teria que
> encher meu sistema de try/except.
>
> Vocês nunca precisaram de algo assim ??

Try/except não é solução para esse caso. Recomendo procurar outra
alternativa, nem que seja contatar o autor do componente ou desistir
dele.

Todo objeto quando é destruído por vias normais chama o Destroy. Se
você herda desse componente você pode sobrescrever o Destroy que será
invocado antes da destruição do objeto. Você ainda pode sobrecarregar
o FreeInstance, que será invocado logo após a chamada ao destructor e
imediatamente antes da instância ir para o além (aqui seu código deve
vir antes do inherited). Então, dentro de algum destes métodos, você
cria um evento que informa a destruição da instância.

--
Joao Morais

Responder a