Como detectar "indicadores dangling" se "Assigned ()" não pode fazê-lo?
Noutroquestã, Descobri que oAssigned()
função @ é idêntica aPointer <> nil
. Sempre entendi queAssigned()
estava detectando esses ponteiros pendurados, mas agora aprendi que não. Ponteiros pendentes são aqueles que podem ter sido criados em um ponto, mas foram liberados desde então e não foram atribuídos anil
ainda
E seAssigned()
não pode detectar ponteiros pendentes, o que pode? Gostaria de verificar meu objeto para garantir que ele seja realmente um objeto criado válido antes de tentar trabalhar com ele. Eu não usoFreeAndNil
como muitos recomendam, porque eu gosto de ser direto. Eu apenas usoSomeObject.Free
.
s violações de acesso são meu pior inimigo - eu faço tudo o que posso para impedir que elas apareça