Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 20-11-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias, Marcelo. Mi comprensión del manejo de interfaces no es mala, y está claro lo que dices. Pero rescato este punto:
Cita:
Empezado por Delphius Ver Mensaje
[...] el método en cuestión da a entender que hacer cuando el Observador solicita ser removido de la lista.
Eso mismo pienso, pero como no hay nada de nada (ni código, ni documentación) que asiente cuándo podría o tendría que ser llamado ese método, queda una rendija de duda.

Me parece que la clase TObservers (tipo de la propiedad Observers de TComponent), debería llamar al método IObserver.Removed en su método RemoveObserver (tomando la interfaz IObserver del parámetro AIntf), pero como puede verse no ocurre tal cosa:
Código Delphi [-]
procedure TObservers.RemoveObserver(const IDs: array of Integer; const AIntf: IInterface);
var
  LID: Integer;
  LList: IInterfaceList;
  I: Integer;
begin
  for I := 0 to Length(IDs) - 1 do
  begin
    LID := IDs[i];
    if FObservers.TryGetValue(LID, LList) then
    begin
      LList.Remove(AIntf);
      if LList.Count = 0 then
      begin
        FObservers.Remove(LID);
        LList := nil;
      end;
    end;
  end;
end;
Es probable que Embarcadero añada algún cambio después de la línea "LList.Remove(AIntf);", si es que no lo ha hecho ya, en las siguientes versiones.

Alguien que tenga XE7 instalado, ¿sería tan amable de verificar si el método TObservers.RemoveObserver sigue igual o presenta alguna modificación en su código fuente? El archivo de código es System.Classes.pas.

Muchas gracias.

Al.
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
Duda sobre interfaz gráfica de sistema Spk2000ar Varios 1 13-05-2011 19:34:02
OJO NOVATOS: Excelentes artículos sobre la interfaz de usuario. AzidRain Varios 5 27-03-2008 19:16:45
Problemas para desplegar información detallada Nelly Varios 20 10-04-2007 19:54:21
Necesito documentacion detallada sobre ECO edalmasso Varios 2 12-01-2006 09:47:57
Información sobre DOA Ana Conexión con bases de datos 3 05-07-2003 14:11:13


La franja horaria es GMT +2. Ahora son las 06:38:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi