Ver Mensaje Individual
  #1  
Antiguo 08-12-2010
Celta Celta is offline
Miembro
 
Registrado: jul 2010
Ubicación: Salta, Argentina
Posts: 65
Reputación: 14
Celta Va por buen camino
liberar memoria

hola a todos del foro, hace mucho que no me conectaba =D(ahora que terminaron mis clases vuelvo =D) estaba revisando mi juego que estaba asiendo y el problema con el que me encontre es que al querer liberar un objeto(la nave enemiga) producto de la colision no lo libera y me aparece un error "acces violation at address"
mi codigo con el que lo libero es el siguiente

Código Delphi [-]
  for i := 0 to (lista.Count - 1) do begin
   imgmisil := TImage(lista[i]);

  imgmisil.Top:=imgmisil.top-7;
                end;
     begin
    for i := 0 to (listaene.Count -1) do begin
       ene := TImage(listaene[i]);
    begin

  a1 := (imgmisil.Left + imgmisil.Width);
  a2 := (ene.Left + ene.Width);
  c1 := (imgmisil.Top + imgmisil.Height);
  c2 := (ene.Top + ene.Height);

  if (((imgmisil.Left < ene.Left) and (a1 > ene.Left)) and
      ((imgmisil.Top < ene.Top) and (c1 > ene.Top))) or

     (((ene.Left < imgmisil.Left) and (a2 > imgmisil.Left)) and
      ((ene.Top < imgmisil.Top) and (c2 > imgmisil.Top))) or

     (((imgmisil.Left < ene.Left) and (a1 > ene.Left)) and
      ((ene.Top < imgmisil.Top) and (c2 > imgmisil.Top))) or

     (((ene.Left < imgmisil.Left) and (a2 > imgmisil.Left)) and
      ((imgmisil.Top < ene.Top) and (c1 > ene.Top))) then begin


                ENE.FREE;

me parece que en la parte que falla es aqui
for i := 0 to (lista.Count - 1) do begin


saludos

Última edición por Casimiro Notevi fecha: 08-12-2010 a las 22:39:43. Razón: Poner etiquetas [delphi] [/delphi]
Responder Con Cita