Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2007
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
RXClock y error Control has no parent window

Hola, he creado una clase que contiene un objeto TRxClock esta a grandes rasgos es su interface :

Código:
 TAlarmClock = class
  private
    FClock : TRxClock;
  public
    constructor Create(aOwner : TComponent);
    destructor Destroy; override;

    procedure OnAlarm(Sender : TObject);
  end;

en el constructor hago lo siguiente:

Código:
constructor TAlarmClock.Create(aOwner : TComponent);
begin
   inherited Create;
   FClock := TRxClock.Create(aOwner);
   FClock.Enabled := true;
   FClock.AlarmEnabled := True;
   FClock.OnAlarm := Self.OnAlarm;
end;
bueno cuando voy debugeando y termina de ejecutar la ultima instruccion del constructor me sale el siguiente error "class EInvalidOperation with message 'Control'' has no parent window", no se si queda claro, a mi clase en otro metodo le paso la hora a la que va ejecutar la alarma y lo que quiero que haga es que en el evento OnAlarm ejecute cierto codigo. Por que sale este error?????, que es lo que lo provoca ?????, como lo elimino, porque no me ejecuta el evento??????, muchas gracias por sus tiempos

saludos
miguel_e
Responder Con Cita
  #2  
Antiguo 05-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
Te faltaría poner:
Código Delphi [-]
FClock.Parent:=Self;
para que se le asigne una ventana al reloj. Si no quieres que se vea pones:
Código Delphi [-]
FClock.Visible:=False;
Saludos.
Responder Con Cita
  #3  
Antiguo 05-09-2007
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
la clase TRxClock (quizas sea la version que tengo), no tiene ninguna propiedad llamada Parent la que contine es una que se llama ParentWindow y que recibe un parametro de tipo HWND, es esta a la cual le debo asignar el formulario????

saludos
miguel_e
Responder Con Cita
  #4  
Antiguo 05-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
El error también puede estar en como creas y derivas tu componente.
No especificas en la declaración de qué componente lo derivas.
Además el constructor Create debe ser sobreescrito para luego poder llamarlo con inherited:
Código Delphi [-]
TAlarmClock = class (TComponent)
  private
    FClock : TRxClock;
  public
    constructor Create(aOwner : TComponent);override;
    destructor Destroy; override;

    procedure OnAlarm(Sender : TObject);
  end;
Prueba con esto y me cuentas.
Responder Con Cita
  #5  
Antiguo 05-09-2007
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
quedo de esta manera:

Código Delphi [-]
TAlarmClock = class(TComponent)
  private
    FClock : TRxClock;
  public
    constructor Create(aOwner : TComponent); override;
    destructor Destroy; override;

    procedure OnAlarm(Sender : TObject);
  end;


Código Delphi [-]
constructor TAlarmClock.Create(aOwner : TComponent);
begin
   inherited Create(aOwner);
   FClock := TRxClock.Create(aOwner);
   FClock.Enabled := true;
   FClock.AlarmEnabled := True;
   FClock.OnAlarm := Self.OnAlarm;
end;

y nada, sigue sucediendo el mismo error, que mas se le ocurre???

salu2
miguel_e

nota: fijense que el error da cuando termina el constructor y en el proximo sentencia entra sola en otra unit que parece que es la que tiene el timer encargada de vigilar el evento, el codigo es el siguiente:

Código Delphi [-]
procedure TRxTimer.Timer;
begin
  if FEnabled and not (csDestroying in ComponentState) and
    Assigned(FOnTimer) then FOnTimer(Self);
end;
Responder Con Cita
  #6  
Antiguo 05-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
Postea todo el código en un zip así se puede analizar mejor.
Responder Con Cita
Respuesta



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
Parent, ParentWindow, objetos y el error Control has no parent Window dec Varios 18 07-08-2007 15:02:01
Control has not parent Window peripla Varios 7 06-07-2007 04:26:27
In Design: Control no has parent window Negegoca Varios 1 26-01-2007 17:26:36
Array de controles - Control has no parent window SyncReuter OOP 8 24-01-2007 02:21:14
Ayuda: Control Has No Parent Window pelaorb68 Varios 10 20-12-2005 20:36:26


La franja horaria es GMT +2. Ahora son las 16:17:23.


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