¿Cómo detectar "punteros colgantes" si "Asignado ()" no puede hacerlo?
En otropregunt, Descubrí que elAssigned()
a función @ es idéntica aPointer <> nil
. Siempre he entendido queAssigned()
estaba detectando estos punteros colgantes, pero ahora he aprendido que no. Los punteros colgantes son aquellos que pueden haberse creado en un momento, pero que desde entonces se han liberado y no se han asignado anil
todavía
SiAssigned()
no puede detectar punteros colgantes, entonces, ¿qué puede? Me gustaría verificar mi objeto para asegurarme de que es realmente un objeto creado válido antes de intentar trabajar con él. Yo no usoFreeAndNil
como muchos recomiendan, porque me gusta ser directo. Solo usoSomeObject.Free
.
as violaciones de acceso son mi peor enemigo: hago todo lo posible para evitar su aparición.