FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con ControlCount
Hola amigos de la Comunidad de Delphi!, Hoy los molesto para que me ayuden con un problemita que tengo a la hora de liberar unos objetos de mi formulario aqui les muestro el codigo que estoy utilizando
for I:=0 to (sender as TPanel).ControlCount - 1 do If (sender as TPanel).Controls[i].Name[1]='B' then (sender as TPanel).Controls[i].free; Pero no me elimina los objetos y me genera una Exception de EAccesViolation. he intentado varias cosas pero nada, por eso prefiero preguntarle a los que saben . Muchas Gracias!!
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
||||
|
||||
Utiliza TAG's en tus mensajes, se leen mejor (compara tu código con el mío):
Modifica el código y cambialo por éste:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
¿Por que liberas los controles de esta forma?
¿No confias en que se liberarán automaticamente cuando se libere el dueño?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#5
|
|||
|
|||
Cita:
If (sender as TPanel).Controls[i].Name[1]='B' then
__________________
La vida es un simple pero complejo If J=rS
|
#6
|
||||
|
||||
Los controles, ¿los creaste tú mismo en código? De ser así, ¿estás seguro de haberles asignado algo a la propiedad Name?
// Saludos |
#7
|
||||
|
||||
Cita:
Deberías ejecutarlo paso a paso y ver en ésta línea que es lo que no está asignado. Por ejemplo, se me ocurre que si el control no tienen nada en la propiedad Name (cadena vacía), al intentar acceder a la posición [1] va a dar error (Access Violation).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
||||
|
||||
Saludos
Creo que si se muestra el codigo para crear los controles, se podria solucionar mas facil.!
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#9
|
|||
|
|||
Cita:
yo le coloco If (sender as TPanel).Controls[i].Name[1]<>'' Then If (sender as TPanel).Controls[i].Name[1]='B' Pero Igual
__________________
La vida es un simple pero complejo If J=rS
|
#10
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
#11
|
|||
|
|||
Listo Amigos muchas Gracias
for I:= ((sender as TPanel).ControlCount - 1) downto 0 do If (sender as TPanel).Controls[i].Name<>'' then If (sender as TPanel).Controls[i].Name[1]='B' then (sender as TPanel).Controls[i].free; mi error era que estaba preguntando If (sender as TPanel).Controls[i].Name[1]<>'' then y eso esta errado porque si esta '' es imposible que consiga algo en este indice [1]; Muchas Gracias
__________________
La vida es un simple pero complejo If J=rS
|
#12
|
||||
|
||||
Te recomiendo no abusar tanto del operador as. Si como te indicó el amigo Neftali compruebas que Sender es un TPanel por medio de:
Entonces ya puedes usar directamente:
Con esto ganarás en velocidad y eficiencia. Saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo Última edición por yusnerqui fecha: 14-11-2005 a las 19:37:45. |
#13
|
||||
|
||||
Amigo JerS. Te llamo a usar las etiquetas [code], [delphi], [sql] o [php] para publicar trozos de código. Ya con tu "edad" en los foros, resulta inaceptable que no la uses aún.
Mas información, aqui. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|