Ver Mensaje Individual
  #1  
Antiguo 27-08-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
Solicito ayuda para resolver los problemas de este nuevo componente

Buenos días compañeros, solicito vuestra ayuda, ya que llevo varios días trabajndo en este componente para el programa, que estoy realizando actualmente y tengo los siguientes errores que no logro resolver, los problemas son los siguientes

El Reloj, no cambia y la alarma no salta

y al salir del programa da estos errores, se que el segundo es derivado del primero, o eso creo

Os pongo una imagen con el componente en diversas configuraciones



El Error



Y el segundo error




Ahora os pongo el código 1ª parte

Código Delphi [-]
unit UPanelDiary;

interface

uses WinTypes, WinProcs, Messages, SysUtils, Classes, Controls,
     Forms, Graphics, Extctrls, StdCtrls, Dialogs;


type
  TClockSelected=(Select12,Select24);
  TLengua=(Espanol, Frances, Aleman, Italiano, Ingles, Catalan, Gallego, Vasco);
  TFormato=(Basico,Extendido,Completo);

//Para el Panel Reloj
    TClock=class(TPersistent) //Para crear propiedades agrupadas
  private
       FClock12_24      : TClockSelected;
       FClockEnable     : Boolean;
       FPanelVisible    : Boolean;
       FColorClock      : TColor;
       FFontClock       : TFont;
       FInterval        : Integer;
       FAlarmActive     : Boolean;
       FHourAlarm       : TTime;
       FHour            : TTime;
       FMessageAlarm    : String;
       procedure SetClock12_24(Value : TClockSelected);
       procedure SetClockEnable(Value : Boolean);
       procedure SetPAnelVisible(Value : Boolean);
       procedure SetColorClock(Value : TColor);
       procedure SetFontClock(Value : TFont);
       procedure SetInterval(Value : Integer);
       procedure SetAlarmActive(Value : Boolean);
       procedure SetHourAlarm(Value:TTime);
       procedure SetMessageAlarm(Value:string);
  protected
  published
       property Clock12_24 : TClockSelected     read FClock12_24        write SetClock12_24      default Select12;   { Ver el Reloj en 12 o 24 horas }
       property ClockEnable : Boolean           read FClockEnable       write SetClockEnable     default True;       { Reloj en uso }
       property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
       property ColorClock : TColor             read FColorClock        write SetColorClock      default $00FFCCCC;  { Color de Fondo Del Reloj }
       property FontClock : TFont               read FFontClock         write SetFontClock;                          { Fuente del Reloj }
       property Interval : Integer              read FInterval          write SetInterval        default 1000;       { Intervalo para el Disparador }
       property AlarmActive:Boolean             read FAlarmActive       write SetAlarmActive     default False;      { Si hay una alarma activa }
       property HourAlarm: TTime                read FHourAlarm         write SetHourAlarm;                          { Hora a la que disparar la alarma }
       property MessageAlarm:string             read FMessageAlarm      write SetMessageAlarm;                       { Mensaje a mostrar al disparar la alarma }
end;
type
  TDayX=class(TPersistent) //Para crear propiedades agrupadas
  private                  //Este siempre esta visible
       FColorDay    : TColor;       //Color del panel
       FFontDay     : TFont;
       FHeight      : Integer;
       procedure SetColorDay(Value : TColor);
       procedure SetFontDay(Value : TFont);
       procedure SetHeight(Value:Integer);
  published
       property ColorDay : TColor               read FColorDay          write SetColorDay        default clWhite;    { Color de fondo del Dia }
       property FontDay : TFont                 read FFontDay           write SetFontDay;                            { Fuente del dia  }
       property Height   :integer               read FHeight            write SetHeight;
  end;

type
  TMonth=class(TPersistent) //Para crear propiedades agrupadas
  private
       FColorMonth    : TColor;
       FFontMonth     : TFont;
       FPanelVisible  : Boolean;
       procedure SetColorMonth(Value : TColor);
       procedure SetFontMonth(Value : TFont);
       procedure SetPAnelVisible(Value : Boolean);
  published
      property ColorMonth : TColor              read FColorMonth        write SetColorMonth      default $0033CCFF;  { Color de Fondo Del MEs }
      property FontMonth : TFont                read FFontMonth         write SetFontMonth;                          { Fuente del mes }
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
  end;

  type
  TYear=class(TPersistent) //Para crear propiedades agrupadas
  private
      FColorYear      : TColor;
      FFontYear       : TFont;
      FPanelVisible  : Boolean;
      procedure SetColorYear(Value : TColor);
      procedure SetFontYear(Value : TFont);
      procedure SetPAnelVisible(Value : Boolean);
  published
      property ColorYear : TColor               read FColorYear         write SetColorYear       default $0033CCFF;  { Color de Fondo Del año }
      property FontYear : TFont                 read FFontYear          write SetFontYear;                           { Fuente del Año }
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
  end;

 type
  TStation=class(TPersistent) //Para crear propiedades agrupadas
  private
      FColorStation   : TColor;
      FFontStation    : TFont;
      FPanelVisible  : Boolean;
      procedure SetColorStation(Value : TColor);
      procedure SetFontStation(Value : TFont);
      procedure SetPAnelVisible(Value : Boolean);
  published
      property ColorStation : TColor            read FColorStation      write SetColorStation    default clRed;      { Color de Fondo de la Estacion }
      property FontStation : TFont              read FFontStation       write SetFontStation;                        { Fuente de la Estacion }
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
  end;

  type
  TWeeksDay=class(TPersistent) //Para crear propiedades agrupadas
  private
      FColorWeeksDays : TColor;
      FFontWeekDays   : TFont;
      FPanelVisible   : Boolean;
      procedure SetColorWeeksDays(Value : TColor);
      procedure SetFontWeekDays(Value : TFont);
      procedure SetPAnelVisible(Value : Boolean);
  published
      property ColorWeeksDays : TColor          read FColorWeeksDays    write SetColorWeeksDays  default $0033CCFF;  { Color de fondo }
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
      property FontWeekDays : TFont             read FFontWeekDays      write SetFontWeekDays;                       { Muestra las semanasy dias  transcurridos/pendientes  fuentes}
  end;

type
  TDayExt=class(TPersistent) //Para crear propiedades agrupadas
  private
      FColorDayExt  : TColor;
      FFontDayExt   : TFont;
      FPanelVisible : Boolean;
      procedure SetColorDayExt(Value : TColor);
      procedure SetFontDayExt(Value : TFont);
      procedure SetPAnelVisible(Value : Boolean);
  published
      property ColorDayExt : TColor             read FColorDayExt       write SetColorDayExt     default $0033CCFF;  { Color de Fondo Del Dia Extendido }
      property FontDayExt : TFont               read FFontDayExt        write SetFontDayExt;   { Fuente del dia extendido }
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
  end;
type
  TNotice=class(TPersistent) //Para crear propiedades agrupadas
  private
      FPanelVisible : Boolean;
      FNoticeColor            : TColor;
      FNoticeFont             : TFont;
      FText1                  : string;
      FText2                  : string;
      FHeight                 : Integer;
      procedure SetNoticeColor(Value : TColor);
      procedure SetNoticeFont(Value : TFont);
      procedure SetPAnelVisible(Value : Boolean);
      procedure SetText1(Value:string);
      procedure SetText2(Value:string);
      procedure SetHeight(Value : Integer);
  published
      property PanelVisible : Boolean           read FPanelVisible      write SetPAnelVisible    default True;       { Ver Eel panel }
      property NoticeColor  : TColor            read FNoticeColor       write SetNoticeColor     default clBlue;
      property NoticeFont    : TFont            read FNoticeFont        write SetNoticeFont;
      property Text1         :string            read FText1             write SetText1;
      property Text2         :string            read FText2             write SetText2;
      property Height        :Integer           read FHeight            write SetHeight;
  end;

type
  TMiPanelDiary = class(TPanel)
    private
      { Private fields of TPanelDiary }
        FTipo                   : TFormato;
        FDay                    : TDayX;      //Dia siempre visible
        FDayExt                 : TDayExt;    //Muestra más información del día
        FMonth                  : TMonth;     //Muestra el mes
        FYear                   : TYear;      //Muestra el año
        FWeeksDays              : TWeeksDay;  //Muestra información adicional
        FStation                : TStation;   //Muestra cual de las 4 estaciones estamos
        FClock                  : TClock;     //Muestra el reloj y la alarma
        FNotice                 : TNotice;    //Muestra 2 lineas con información
        FDate                   : TDate;      //Fecha
        FDay_mmddyy             : String;     //Formato de la fecha
        FLanguage               : TLengua;    //Lenguaje a mostrar los texto por defecto
        FOnlyOneFont            : Boolean;    //Una fuente para todos, exepto el día
        FUsarComentarios        : Boolean;    //Mostrar Comentarios y datos
        FAutoheight             : Boolean;    //Cuadra la altura de los diversos paneles
        FMyTimer                : TTimer;
        FPanelNotice            : TPanel;
        FPanelStation           : Tpanel;
        FPanelDayExt            : Tpanel;
        FPanelDayX              : TPanel;
        FPanelMonth             : TPanel;
        FPanelYear              : TPanel;
        FPanelWeeksDay          : TPanel;
        FPanelClock             : TPanel;
        FTexto1                 : TLabel;
        FTexto2                 : TLabel;
        FOnClickNotice          : TNotifyEvent;            { Al pulsar en el panel de avisos }
        FOnClickClock           : TNotifyEvent;            { Al pulsar en el Reloj }
        FOnClickDay             : TNotifyEvent;            { Al pulsar en el dia }
        FOnClickDayExt          : TNotifyEvent;            { Al pulsar en el dia Extendido }
        FOnClickMonth           : TNotifyEvent;            { Al pulsar en el mes }
        FOnClickStation         : TNotifyEvent;            { Al pulsar en el Estacion }
        FOnClickWeeksDays       : TNotifyEvent;            { Al pulsar en el Semanas/dias }
        FOnClickYEar            : TNotifyEvent;            { Al pulsar en el año }
        FOnDateChanged          : TNotifyEvent;            { Cuando cambia de Dia }
        FOnAlarm                : TNotifyEvent;            {Cuando salta la alarma }
        FOnTimer                : TNotifyEvent;            { cuando hace timer }
        procedure AutoInitialize;
        procedure AutoDestroy;
        procedure SetDate(Value : TDate);
        procedure SetLanguage(Value : TLengua);
        procedure SetUsarComentarios(Value : Boolean);
        procedure SetTipo(Value : TFormato);
        procedure SetAutoheight(Value : Boolean);
        procedure SetOnlyOneFont(Value : Boolean);
    protected
        procedure ClickNotice(Sender : TObject); virtual;                 { Al pulsar en el panel de avisos }
        procedure ClickClock(Sender : TObject); virtual;                  { Al pulsar en el Reloj }
        procedure ClickDay(Sender : TObject); virtual;                    { Al pulsar en el dia }
        procedure ClickDayExt(Sender : TObject); virtual;                 { Al pulsar en el dia Extendido }
        procedure ClickMonth(Sender : TObject); virtual;                  { Al pulsar en el mes }
        procedure ClickStation(Sender : TObject); virtual;                { Al pulsar en el Estacion }
        procedure ClickWeeksDays(Sender : TObject); virtual;              { Al pulsar en el Semanas/dias }
        procedure ClickYEar(Sender : TObject); virtual;                   { Al pulsar en el año }
        procedure Alarm(Sender : TObject); virtual;                   { Al dar la alarma }
        procedure DateChanged(Sender : TObject); virtual;                 { Cuando cambia de Dia }
        procedure Timer(Sender:TObject); virtual;                         { cuando hace timer }
        procedure Click; override;
        procedure Loaded; override;
        procedure Paint; override;
        procedure Resize; override;
    public
        property Day_mmddyy : String read FDay_mmddyy;                     { Muestra el dia para consultas SQL }
        procedure Calculos;                      { Calculamnos la estacion del año semanas y dias }
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;
    published
        property OnClickNotice : TNotifyEvent     read FOnClickNotice     write FOnClickNotice;
        property OnClickClock : TNotifyEvent      read FOnClickClock      write FOnClickClock;
        property OnClickDay : TNotifyEvent        read FOnClickDay        write FOnClickDay;
        property OnClickDayExt : TNotifyEvent     read FOnClickDayExt     write FOnClickDayExt;
        property OnClickMonth : TNotifyEvent      read FOnClickMonth      write FOnClickMonth;
        property OnClickStation : TNotifyEvent    read FOnClickStation    write FOnClickStation;
        property OnClickWeeksDays : TNotifyEvent  read FOnClickWeeksDays  write FOnClickWeeksDays;
        property OnClickYEar : TNotifyEvent       read FOnClickYEar       write FOnClickYEar;
        property OnDateChanged : TNotifyEvent     read FOnDateChanged     write FOnDateChanged;
        property OnAlarm : TNotifyEvent           read FOnAlarm           write FOnAlarm;
        property OnTimer : TNotifyEvent           read FOnDateChanged     write FOnDateChanged;
        property OnClick;
        property OnDblClick;
        property OnDragDrop;
        property OnEnter;
        property OnExit;
        property OnKeyDown;
        property OnKeyPress;
        property OnKeyUp;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnResize;
        property Date : TDate                read FDate               write SetDate;                                  { Dia para los Calculos }
        property Language : TLengua          read FLanguage           write SetLanguage           default Espanol;    { Lenguaje Seleccionado }
        property OnlyOneFont : Boolean       read FOnlyOneFont        write SetOnlyOneFont        default False;      { Usar solo una fuente }
        property Notice:TNotice              read FNotice             write FNotice;
        property Station:TStation            read FStation            write FStation;
        property DayExt:TDayExt              read FDayExt             write FDayExt;
        property Day: TDayX                  read FDay                write FDay;
        property Month:TMonth                read FMonth              write FMonth;
        property Year:Tyear                  read FYear               write FYear;
        property WeekDays:TWeeksDay          read FWeeksDays          write FWeeksDays;
        property Clock:TClock                read FClock              write FClock;
        property UsarComentarios:Boolean     read FUsarComentarios    write SetUsarComentarios ;
        property Tipo: TFormato              read FTipo               write SetTipo;
        property Autoheight:Boolean          read FAutoheight         write SetAutoheight ;

  end;
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita