Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 25-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Como bien dices hay que tener cuidado.

Si tienes un método "SetPropiedad2" es porque haces algo más que cambiar el valor a FPropiedad2. Si cambias el valor a Fpropiedad1 por la cara, te queda el resto de código sin sincronizar.

Cuando al cambiar una propiedad en el método Set afecta a otras propiedades y no puedes usar "Propiedad1 := Fpropiedad2 div 2" porque entra en recursión las asignaciones, hay que crear un método aparte:

Código Delphi [-]
miclase = class
  private
    fpropiedad1: integer;
    fpropiedad2: integer;
    procedure SetPropiedad1(const Value: integer);
    procedure SetPropiedad2(const Value: integer);
    procedure DoCambioPropiedad1;
  public
    property Propiedad1: integer read fpropiedad1 write SetPropiedad1;
    property Propiedad2: integer read fpropiedad2 write SetPropiedad2;
  end;

implementation

procedure SetPropiedad2(value: integer);
begin
if Value <> FPropiedad2
  then begin
           FPropiedad2 := Value;
           DoCambioPropiedad1;
         end;
end;

procedure DoCambioPropiedad1;
begin
   // aqui cambias el valor de la propiedad 1 y haces que se refleje
  // el cambio en el resto de propiedades que se vean afectadas
  Fpropiedad1 := Fpropiedad2 div 2;  // siguiendo el ejemplo.

   //  aquí usarías solo las variables privadas Fpropiedad1, Fpropiedad2 hasta 
  //   FPropiedad20 así evitas que se entre en recursión las asignaciones y te 
 //    quitas un poco de lío conceptual.
end;
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, 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
Mi programa de facturación paso a paso Delphitest Varios 234 04-11-2013 09:41:02
Como cambiar valores en la ventana "General" propiedades del sistema JuanErasmo API de Windows 52 17-02-2012 17:42:20
ayuda paso a paso Shared Connection eangeles Providers 0 09-11-2006 02:06:04
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 20:52:19
Como puedo Modificar los valores de las propiedades de un ejecutable DML Varios 4 07-05-2003 21:39:03


La franja horaria es GMT +2. Ahora son las 18:32:39.


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