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
  #1  
Antiguo 24-01-2006
adpa adpa is offline
Miembro
 
Registrado: dic 2005
Posts: 22
Poder: 0
adpa Va por buen camino
Más problema padrón observador

Hola:
Tengo el siguiente sujeto y observador declarado.
Código Delphi [-]
type
TObserver  = CLASS
   public
    procedure Update(const Subject: TObject); virtual; abstract;
  end;
  TSubject = class
  private
    fController: TObject;
    fObservers: cLista;
  public
    constructor Create(Controller: TObject);overload;
    procedure Attach(Observer: TObserver);
    procedure Detach(Observer: TObserver);
    procedure Notify;
  end;

implementation
constructor TSubject.Create(Controller: TObject);
  begin
    inherited Create;
    fController := Controller;
  end;
  procedure TSubject.Attach(Observer: TObserver);
  begin
    if (fObservers = nil) then
      fObservers := cLista.Create(5);
    fObservers.Insertar(Observer);
  end;
  procedure TSubject.Detach(Observer: TObserver);
  begin
    if fObservers <> nil then
    begin
      fObservers.Remove(Observer);
      if (fObservers.Longitud) = 0 then
      begin
        fObservers.Free;
        fObservers := nil;
      end;
    end;
  end;
  procedure TSubject.Notify;
  var
    i: Integer;
  begin
    if (fObservers <> nil) then
      for i := 0 to Pred(fObservers.Longitud) do
        TObserver(fObservers[i]).Update(fController);
  end;

end.
El objeto consumidor hereda de tObserver y tienda de tSubject.
Pero cuando hago el attach
self.Attach(c);
dentro de procedure TSubject.Attach(Observer: TObserver); la variable observer
nil por lo tanto no me inserta.
¿Como puedo solucionarlo? ¿Tengo que redefinir attach en algún sitio o añadirle algo más a TObserver.

Muchas Gracias,
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 con los Post_Events Aldo Firebird e Interbase 1 21-10-2005 12:58:10
Problema con almacenamiento en String Moises22 Varios 5 29-09-2005 14:58:09
Problema para capturar Errores carlos gonzalez Varios 9 21-06-2005 16:31:48
Problema para capturar Errores carlos gonzalez DB2 2 17-06-2005 17:43:05
problema con procedimiento almacenado Choclito Firebird e Interbase 2 04-11-2004 20:58:46


La franja horaria es GMT +2. Ahora son las 18:02:58.


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