Ver Mensaje Individual
  #2  
Antiguo 14-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
No se si te estoy entendiendo bien pero no existe el concepto de un objeto de sólo lectura, lo que sí puedes hacer es que algunas propiedades de un objeto sean sólo de lectura (con lo que conseguirías, mas o menos, un objeto no modificable, al menos en sus propiedades). Para ello, has de especificar sólo la parte "read" en la declaración de la propiedad, aunque ten encuenta que las propiedades de tipo objeto siempre se podrán modificar (por eso es mejor, siempre que sea posible, no usar propiedades de tipo objeto si queremos que sean de sólo lectura).

Por ejemplo, si quieres que los campos "Nota" y "Prefijo" de la clase TTipoHabitacion sean sólo de lectura haríamos lo siguiente:

Código Delphi [-]
type
  TTipoHabitacion = class(TCollectionItem)
  private
    FNota: string;
    FPrefijo: string;
  public
    property Nota: string read FNota; // Sólo especificamos la parte "read"
    property Prefijo: string read FPrefijo;
  end;

Fíjate que si el atributo "Nota" fuera de tipo TStrings, entonces, el usuario si que podría modificar dicho atributo al tratarse de un objeto (es por eso que te comenté antes que no existen los objetos de sólo lectura), pero al ser string el valor no podrá modificarse.

Según veo estás tratando de hacer un framework de persistencia de objetos (lo que no es algo relativamente fácil) así que te aconsejaría buscar por el foro donde encontraras hilos interesantes sobre el tema.

Saludos!
Responder Con Cita