FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
componentes:=ComponentCount-1;
for i:=0 to Componentes do begin try if (Components[i] is TPanel) then RemoveComponent(Components[i]) ; except end; end; la idea es que siga haciendo el bucle, pero ni bien salta el error se sale del for |
#3
|
|||
|
|||
santo remedio, al reves funciona , gracias
|
#4
|
||||
|
||||
Antes de nada, para poner código en el foro usa las etiquetas. Es decir:
[delphi] // Aqui el codigo [/delphi] Y queda así de bonito : Segundo, el error te da porque estas recorriendo la lista al revés. Cuando recorres una lista para eliminar elementos, tienes que hacerlo desde el final hasta el principio. De lo contrario cuando eliminas un elemento, los que vienen a continuación cambian su índice y eso provoca que te "saltes" elementos y, lo que es peor, que al llegar al final hagas referencia a elementos que no existen y de ahí el fallo. Es decir deberías hacerlo así:
|
#5
|
||||
|
||||
Caramba !!! uno no se puede extender en las respuestas, que te la pisan
|
|
|
|