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