Ver Mensaje Individual
  #8  
Antiguo 09-08-2011
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Reputación: 18
richy08 Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Hola...

No se exactamente que deseas hacer, lo que si te puedo decir es que tu código está propenso a que tengas pérdidas de memoria (memory leak) al momento de cerrar la aplicación.

Si no vas a guardar referencias a los botones fuera del método DoOnClick, te recomiendo que uses TBitBtn.Create(Self), para que al cerrar el formulario este destruya todos esos botones al momento de destruirse.

Otro error que encuentro es que estás usando algunas variables con el mismo nombre de propiedades (Top, Left) y esto puede producirte varios errores lógicos.


Saludos...
Hola maeyanes lo que intento hacer es una aplicacion que sirva para vender productos de mostrador pero en un touch screen, lo de crear botones es por la estructura que tienen la tablas en la bd, los primeros botones que muestros son los de la linea que a su ves es padre de categoria y esta es padre de subcategoria hasta llegar a los productos.

ok usare TBitBtn.Create(Self) no entiendo muy bien el por que, es la primera ves que me veo en la necesidad de crear componentes en tiempo de ejecucion, y sobre lo del nombre de las variables segun yo, si las declaro dentro de un procedure el valor solo se afecta dentro del mismo procedure no??, corrigeme por favor si dije alguna incoherencia


saludos y mil gracias por tus consejos


perdon ya entendi lo de las variables es mejor ponerles otro nombre, que no se parezca a propiedades de los objetos, otra pregunta crees que este codigo me genere algun problema lo uso cada que presiono un boton para limpiar el panel e incluir los nuevos botones

Código Delphi [-]
   for i:=Pnl_Pro.ControlCount -1 downto 0 do
    begin
      if Pnl_Pro.Controls[i] is Tbitbtn then
       Pnl_Pro.Controls[i].free;
    end;
Responder Con Cita