Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 07-10-2005
rounin rounin is offline
Miembro
 
Registrado: sep 2005
Posts: 43
Poder: 0
rounin Va por buen camino
Saludos,

pienso que en tu caso necesita incluir flag csSubcomponent
en tus subcomponentes:

Código:
  TDigitalDisplay = class(TCustomPanel)
  private
	FImage1: TImage;
	FStaticText1: TStaticText;
	FPopupMenu1: TPopupMenu;
	{...}
  published
	property StaticText1: TStaticText read FStaticText1; {r/o}
	property Image1: TImage read FImage1;
	property PopupMenu1: TPopupMenu read FPopupMenu1;
	{...}
  end;
 
 
constructor TDigitalDisplay.Create(AOwner: TComponent);
 
   function CreateSubComponent(AClass: TComponentClass): TComponent;
   begin
	 Result := AClass.Create(Self);
	 Result.SetSubComponent(True); {!!!!!!!!}
	 Result.FreeNotification(Self); 
	 if Result is TControl then TControl(Result).Parent := Self;
   end;
 
var
  MenuItem: TMenuItem;
begin
  inherited;
  {...}
  FStaticText1 := CreateSubComponent(TStaticText) as TStaticText;
  FStaticText2 := CreateSubComponent(TStaticText) as TStaticText;
  FStaticText3 := CreateSubComponent(TStaticText) as TStaticText;
  FImage1	  := CreateSubComponent(TImage) as TImage;
  FPopupMenu1  := CreateSubComponent(TPopupMenu) as TPopupMenu;
 
  MenuItem := TMenuItem.Create(PopupMenu1);
  FPopupMenu1.Items.Add(MenuItem);

  with MenuItem do
  begin
	Caption := 'Configurar';
	OnClick := PopupConfigurar;
  end;

end;
 
procedure TDigitalDisplay.Notification(AComponent: TComponent; Operation: TOperation);
begin
  inherited;
  if (AComponent = FStaticText1) and (Operation = opRemove) then FStaticText1 := nil;
  if (AComponent = FStaticText2) and (Operation = opRemove) then FStaticText2 := nil;
  if (AComponent = FStaticText3) and (Operation = opRemove) then FStaticText3 := nil;
  if (AComponent = FPopupMenu1) and (Operation = opRemove) then FPopupMenu1 := nil;
  if (AComponent = FImage1)	 and (Operation = opRemove) then FImage1	 := nil;
end;
PS Porque creas subcomponentes en AfterConstruction?
Porque no en Create?
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 14:50:52.


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