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

abajo

Borrando un objeto Encontrar ramas similares


Серж   (2001-12-18 19:18) [0]

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.



nil   (2001-12-18 19:36) [2]

FreeAndNil (objeto);



Серж   (2001-12-18 19:41) [3]

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?



Юрий Зотов   (2001-12-18 19:43) [4]

¿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.



Серж   (2001-12-18 19:48) [5]

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.



Юрий Зотов   (2001-12-18 19:52) [6]

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.



Серж   (2001-12-18 19:57) [7]

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



Anatoly Podgoretsky   (2001-12-18 20:25) [8]

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.045 c
1-22188
Arte
2001-12-14 13:09
2002.01.08
¿Cómo leer un archivo grande?


3-21986
Soñador
2001-12-06 15:43
2002.01.08
Campo de datos no permitido en DataSet abierto


1-22250
Dmitry D.
2001-12-17 13:28
2002.01.08
Más bien una pregunta matemática ...


7-22427
KLM
2001-09-20 06:34
2002.01.08
Protección de copia


1-22169
Kreo
2001-12-20 21:16
2002.01.08
Archivos y acceso





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 Italiana 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