borrar o liberar componente TBITBTN en tiempo de ejecucion
Hola estube checando los temas relacionados pero no me han servido o talvez algotengo mal, miren yo creo un determinado numero de botones asi
for i:=0 to slCampos.Count-1 do begin Boton := TBITBTN.Create(Self); Boton.Parent := ScrollBox1;//Asignamos como padre al ScrollBox if b=4 then begin aTop := aTop+ Boton.height; b:=0; aLeft := 10; Boton.Left := aLeft; inc(aLeft,Boton.Width+40); end else begin Boton.Left := aLeft; inc(aLeft,Boton.Width+40); end; Boton.Top := aTop; b:=b+1; Boton.Width := 110; If slestado[i]='0'then begin Boton.Kind:= bkOK; end else If slestado[i]='3'then Boton.Kind:= bkNo else If slestado[i]='1'then Boton.Kind:= bkIgnore; Boton.Name := 'Hab'+slCampos[i]; Boton.Caption := slnombres[i]; Boton.OnClick := ClickBotones; end; esos me los crea apretendo un boton fuera del ScrollBox1 entonces hago un proceso activando el boton en el evento onclick, entonces quiero que al terminar ese proceso me borre o me libere los botones porque la cantidad de botones creados depende de una variable que se actualiza en este evento. puse este codigo la cantidad de botones creados es 12 entonces cuando empieza a liberar en el x=6 marca error dice"List indexout of bounds(6)" for x := 0 to ScrollBox1.ControlCount -1 do begin if ScrollBox1.Controls[x] is TBITBTN then TBITBTN(ScrollBox1.Controls[x]).Free; end; |
Y si lo haces al contrario?
Salud OS |
Perfecto
|
Cita:
Salud OS |
Nose porque se me parece un pco conocido el codigo :rolleyes:, solo quería decir que si trataba de este hilo http://www.clubdelphi.com/foros/showthread.php?t=58110, ahí mismo estaba la respuesta.
Saluditos |
La franja horaria es GMT +2. Ahora son las 09:14:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi