Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 15-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por JerS
Código Delphi [-]
 for I:=0 to Panel1.ControlCount -1 do
    If Panel1.Controls[i].Name<>'' then
       Panel1.Controls[i].Free;
Este código tiene un problema conceptual, cuando creas un ciclo con un for, el código que inicia los contadores y los valores máximos, en este caso Panel1.ControlCount, se ejecuta una sola vez cuando inicia la iteración y se guarda en un registro, después no se ejecuta nunca mas!!.. como ControlCount va a ir cambiando cuando elimines controles, cada vez va a ser menos, en algún momento vas a llamar a un control que no pertenece al vector.
La solución mas sencilla es hacer el for decremental:

Cita:
Empezado por JerS
for i := Panel1.ControlCount -1 downto 0 do
...[/delphi]
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:04:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi