Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 16-01-2011
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,

creo que es debido a esto :

Código Delphi [-]
    Columna[x+1].Free;
    Columna[x+1] := nil;

De todas maneras, es mucho codigo para analizarlo detalladamente ahora saludos.

PD : mirando un poco mas...

Código Delphi [-]
for x := index to ColumnasActivas - 2 do
  begin
    Columna[x].Create( Columna[x+1] );
    Columna[x+1].Free;
    Columna[x+1] := nil;
  end;

no deberias asignar directamente? (Columna[x] := Columna[x+1]) sin el create, me refiero. De la manera que lo estas haciendo estas creando otra columna, o sea, que el antiguo puntero se pierde.

PDD : y mirandolo aun un rato mas : deberias no usar el free, sino hacer asignacion directa i liberar tansolo el ultimo.

Código Delphi [-]
for X := index to length(FColumnas) - 2 do
      FColumnas[x] := FColumnas[x+1];

FColumnas[length(FColumnas)-1].FreeAndNil;

setlength(FColumnas,Length(FColumnas)-1);

Creo que asi te funcionaria.

De la manera que lo hacias, creabas una columna (x+1) cuya propietaria era Columna(x), que acababas de liberar...(en teoria te tendria que petar tambien aqui, pues creas mediante columnas(index) que acababas de liberar ), por lo que te quedaba la columna(index) sin asignar, aunque las demas estuviesen bien. Por tanto, en el destroy te debia petar en el indice que se habia llamado con delcolumn. Un saludo.

Última edición por coso fecha: 16-01-2011 a las 20:11:20.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Invalid Pointer Operation FerCastro Varios 3 23-02-2010 21:47:26
Invalid Pointer operation Dll mcarazas Varios 2 15-10-2008 21:45:14
Invalid Pointer operation Dll mcarazas Varios 0 15-10-2008 16:42:23
invalid pointer operation muppett Varios 1 05-03-2008 00:17:55
QR - Invalid Pointer Operation alapaco OOP 6 07-06-2006 22:43:31


La franja horaria es GMT +2. Ahora son las 12:08:38.


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
Copyright 1996-2007 Club Delphi