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);
TClock=class(TPersistent) 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;
property ClockEnable : Boolean read FClockEnable write SetClockEnable default True;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
property ColorClock : TColor read FColorClock write SetColorClock default $00FFCCCC;
property FontClock : TFont read FFontClock write SetFontClock;
property Interval : Integer read FInterval write SetInterval default 1000;
property AlarmActive:Boolean read FAlarmActive write SetAlarmActive default False;
property HourAlarm: TTime read FHourAlarm write SetHourAlarm;
property MessageAlarm:string read FMessageAlarm write SetMessageAlarm;
end;
type
TDayX=class(TPersistent) private FColorDay : TColor; 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;
property FontDay : TFont read FFontDay write SetFontDay;
property Height :integer read FHeight write SetHeight;
end;
type
TMonth=class(TPersistent) 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;
property FontMonth : TFont read FFontMonth write SetFontMonth;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
end;
type
TYear=class(TPersistent) 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;
property FontYear : TFont read FFontYear write SetFontYear;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
end;
type
TStation=class(TPersistent) 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;
property FontStation : TFont read FFontStation write SetFontStation;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
end;
type
TWeeksDay=class(TPersistent) 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;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
property FontWeekDays : TFont read FFontWeekDays write SetFontWeekDays;
end;
type
TDayExt=class(TPersistent) 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;
property FontDayExt : TFont read FFontDayExt write SetFontDayExt;
property PanelVisible : Boolean read FPanelVisible write SetPAnelVisible default True;
end;
type
TNotice=class(TPersistent) 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;
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
FTipo : TFormato;
FDay : TDayX; FDayExt : TDayExt; FMonth : TMonth; FYear : TYear; FWeeksDays : TWeeksDay; FStation : TStation; FClock : TClock; FNotice : TNotice; FDate : TDate; FDay_mmddyy : String; FLanguage : TLengua; FOnlyOneFont : Boolean; FUsarComentarios : Boolean; FAutoheight : Boolean; FMyTimer : TTimer;
FPanelNotice : TPanel;
FPanelStation : Tpanel;
FPanelDayExt : Tpanel;
FPanelDayX : TPanel;
FPanelMonth : TPanel;
FPanelYear : TPanel;
FPanelWeeksDay : TPanel;
FPanelClock : TPanel;
FTexto1 : TLabel;
FTexto2 : TLabel;
FOnClickNotice : TNotifyEvent;
FOnClickClock : TNotifyEvent;
FOnClickDay : TNotifyEvent;
FOnClickDayExt : TNotifyEvent;
FOnClickMonth : TNotifyEvent;
FOnClickStation : TNotifyEvent;
FOnClickWeeksDays : TNotifyEvent;
FOnClickYEar : TNotifyEvent;
FOnDateChanged : TNotifyEvent;
FOnAlarm : TNotifyEvent;
FOnTimer : TNotifyEvent;
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;
procedure ClickClock(Sender : TObject); virtual;
procedure ClickDay(Sender : TObject); virtual;
procedure ClickDayExt(Sender : TObject); virtual;
procedure ClickMonth(Sender : TObject); virtual;
procedure ClickStation(Sender : TObject); virtual;
procedure ClickWeeksDays(Sender : TObject); virtual;
procedure ClickYEar(Sender : TObject); virtual;
procedure Alarm(Sender : TObject); virtual;
procedure DateChanged(Sender : TObject); virtual;
procedure Timer(Sender:TObject); virtual;
procedure Click; override;
procedure Loaded; override;
procedure Paint; override;
procedure Resize; override;
public
property Day_mmddyy : String read FDay_mmddyy;
procedure Calculos;
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;
property Language : TLengua read FLanguage write SetLanguage default Espanol;
property OnlyOneFont : Boolean read FOnlyOneFont write SetOnlyOneFont default False;
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;