Ver Mensaje Individual
  #5  
Antiguo 05-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Pues ya parece que puedo decir que no era tan complicado. Al cabo faltaba la creación de la clase que se utiliza en el componente y que es la que contiene las propiedades que hay que mostrar bajo el símbolo "+" en el Inspector de Objetos. Esto y alguna otra cosa, porque he añadido algunas hasta dar con el secreto. Con el permiso de Aldo, observa, CHICoLiTa, el siguiente código, por si puede ayudarte en algo:

Código Delphi [-]
  {
    Corregido tendiendo en cuenta
    lo dicho por roman más abajo
  }
 
 unit UPruebas;
 
 interface
 
 uses
   Classes;
 
 type
   TPruebas = class(TPersistent)
   private
     FAlto: integer;
     FAncho: integer;
   public
     procedure Assign(Source: TPersistent); override;
   published
     property Alto: integer read FAlto write FAlto default 0;
     property Ancho: integer read FAncho write FAncho default 0;
   end;
 
 type
   TDePruebas = class(TComponent)
   private
     FPruebas: TPruebas;
     procedure SetPruebas(Value: TPruebas);
   public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
   published
     property Pruebas: TPruebas read FPruebas write SetPruebas;
   end;
 
 procedure Register;
 
 implementation
 
 procedure Register;
 begin
   RegisterComponents('Samples', [TDePruebas]);
 end;
 
 { TDePruebas }
 
 constructor TDePruebas.Create(AOwner: TComponent);
 begin
   inherited Create(AOwner);
   FPruebas := TPruebas.Create;
   FPruebas.Alto := 0;
   FPruebas.Ancho := 0;
 end;
 
 destructor TDePruebas.Destroy;
 begin
   FPruebas.Free;
   inherited Destroy;
 end;
 
 procedure TDePruebas.SetPruebas(Value: TPruebas);
 begin
   if Value <> FPruebas then
     Value.Assign(FPruebas);
 end;
 
 { TPruebas }
 
 procedure TPruebas.Assign(Source: TPersistent);
 begin
   if Source is TPruebas then
   begin
     FAlto := TPruebas(Source).FAlto;
     FAncho := TPruebas(Source).FAncho;
   end;
   inherited Assign(Source);
 end;
 
 end.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2005 a las 20:40:41. Razón: (corrección del código fuente)
Responder Con Cita