Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2011
kdemia kdemia is offline
Miembro
 
Registrado: may 2010
Posts: 109
Poder: 14
kdemia Va por buen camino
Question Problema con asignar valor nil a un puntero

Que tal comunidad, se me presento un problema a la hora de asignar y comparar un puntero con el valor nil.. me sale la excepcion "EAccessViolation" cuando se ejecutan las lineas en rojo, seguramente haya mas "EAccessViolation" pero si resuelvo esas dos resuelvo todos..

Codigo:

Código Delphi [-]
unit Cola;

interface

type


TDataCola = String;
PNodoCola = ^TNodoCola;
TNodoCola = record
  Data      : TDataCola;
  Siguiente : PNodoCola;
end;
TCola = class
  public
    procedure Create;
    procedure Free;
    procedure Push  ( Data : TDataCola );
    function  Pop   : TDataCola;
    function  Empty : Boolean;
  private
    Primero, Ultimo: PNodoCola;
end;

implementation

procedure TCola.Create;
begin
  Primero := Nil;
  Ultimo  := Nil;
end;

procedure TCola.Free;
var
  Aux : PNodoCola;
begin
  Ultimo := Nil;
  while not Empty do
  begin
    Aux     := Primero;
    Primero := Primero^.Siguiente;
    Dispose(Aux);
    Aux     := Nil;
  end;
end;

procedure TCola.Push(Data: TDataCola);
var
  Aux : PNodoCola;
begin
  New(Aux);
  Aux^.Data      := Data;
  Aux^.Siguiente := Nil;
  if Empty then
    Primero := Aux
  else
    Ultimo^.Siguiente := Aux;
  Ultimo := Aux;
end;

function  TCola.Pop;
var
  Aux : PNodoCola;
begin
  Result  := Primero^.Data;
  Aux     := Primero;
  Primero := Primero^.Siguiente;
  Dispose(Aux);
  Aux     := Nil;
end;

function  TCola.Empty;
begin
  Result := Primero = Nil;
end;

end.

Gracias y Saludos !
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
Problema al asignar valor a array ferjavrec2 OOP 6 06-03-2011 22:14:33
Error al asignar un valor ioco Lazarus, FreePascal, Kylix, etc. 3 14-02-2010 15:06:59
Problema al asignar valor antes de visualizar el form drykea Varios 20 19-01-2009 17:38:37
Asignar valor a un DBLOOKUPCOMBOBOX lucasarts_18 OOP 3 30-10-2005 23:35:21
Asignar el valor de DayOfTheWeek a una variable gluglu Varios 7 23-01-2005 19:47:47


La franja horaria es GMT +2. Ahora son las 22:38:51.


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