Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];
abajo

Borrando un objeto Encontrar ramas similares


Serge (2001-12-18 19:18) (1)

Eliminar objeto (hacer gratis)
Cómo verificar que el objeto se haya eliminado (verifico si hay cero - dice
que el puntero está definido). ¿Cómo ser?


Anatoly Podgoretsky (2001-12-18 19:29) (1)

Bueno, asignarlo a cero después de la eliminación.
Pero, ¿por qué hacerlo? En la cara de la reutilización, es mejor escribir para que no haya necesidad de hacerlo.


nula2001-12-18 19:36) (1)

FreeAndNil (objeto);


Serge (2001-12-18 19:41) (1)

Bueno, en realidad no es "reutilizar".
El problema es el siguiente:
Hago un diseñador de informes. El usuario puede agregar al informe diferentes elementos (bandas, laboratorios, etc.). Lo que se encuentra en el informe está escrito en tlist
Por supuesto, puede eliminar y agregar componentes.
El problema vino cuando la pandilla fue removida. Lo hago gratis - se elimina y elimina sus objetos secundarios.
Necesito eliminarlos de la lista. Por lo tanto, surgió la pregunta. Cuando quise eliminar una pandilla, quise comprobar qué objetos se eliminaron con ella y eliminarlos de esta lista.
Y en otros casos, asigné nula.
¿Debería haber alguna manera?


Yuri Zotov (2001-12-18 19:43) (1)

¿Y por qué incluso comprobar? Si se llamó a Free y no hubo excepciones, entonces el objeto se elimina y ya no se necesitan comprobaciones.

Parece que Anatoly Podgoretsky tiene razón: la lógica del código no está construida de la mejor manera. Le aconsejo que preste atención a esto, porque muy a menudo tales cosas causan errores ocultos y difíciles de encontrar.



Serge (2001-12-18 19:48) (1)

Esta bien !! ¡Gracias a todos!
Incluso si Yu.Zotov no conoce el camino, intentaré resolver el problema con otro y, al parecer, un camino más largo: ((
Gracias de nuevo por su atención.


Yuri Zotov (2001-12-18 19:52) (1)

Wow, la diferencia en segundos 2 ...

Ahora la tarea está clara. Una forma de hacer esto. Cría a tu administrador desde TComponent y pega tu lista de distribución en ella, como un campo. La diferencia es que al insertar cualquier componente en un informe, este TComponent puede llamar a su método FreeNotification y, por lo tanto, recibirá automáticamente todas las notificaciones sobre la eliminación. Solo queda para reemplazar su notificación de método, y en él ya está claro los enlaces en TList.


Serge (2001-12-18 19:57) (1)

> Yuri Zotov
Inteligentemente Está bien, lo intentaré mañana! Gracias


Anatoly Podgoretsky (2001-12-18 20:25) (1)

En principio, no importa cómo hacerlo, es importante que se agregue y elimine cualquier objeto. sí mismo de la lista. En este caso, el problema irá a la raíz.



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba















Memoria: 0.83 MB
Tiempo: 0.03 c
14-22358
Denso
2001-11-07 19:08
2002.01.08
Где имеется фришный НЕБОЛЬШОЙ, но СКОРОСТНОЙ хостинг ?


1-22056
Delphimun
2001-12-15 13:11
2002.01.08
¿Cómo crear un recurso usando brcc32.exe?


1-22217
regla verde
2001-12-16 02:13
2002.01.08
TreeView - un par de preguntas


3-21995
Дмитрий Д.
2001-12-07 08:00
2002.01.08
Error BDE salió ... No entiendo cuál podría ser el problema


14-22329
Dima-k17
2001-11-03 15:12
2002.01.08
Времена Delphi закончились?





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español