Comencé a crear un nuevo componente en Delphi 6 Pro. Actualmente solo tiene una propiedad publicada de TFont. Sin embargo, cuando dejo caer el componente en un Formulario en el momento del diseño, y hago clic en el botón Editar para la propiedad "textAttr_1" (puntos suspensivos), aparece una Excepción que dice "no puedo asignar NIL a un TFont". ¿Qué estoy haciendo mal que está causando este error? A continuación se muestra el código para el componente:Cómo reparar el componente Delphi con la propiedad TFont que obtiene "no se puede asignar NIL a un TFont" en el momento del diseño?
unit JvExtendedTextAttributes;
interface
uses
Windows, Messages, SysUtils, Classes, JvRichEdit, Graphics;
type
TJvExtendedTextAttributes = class(TComponent)
private
{ Private declarations }
protected
{ Protected declarations }
FTextAttr_1: TFont;
public
{ Public declarations }
constructor Create(AOwner: TComponent);
published
{ Published declarations }
property textAttr_1: TFont read FTextAttr_1 write FTextAttr_1;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('FAVORITES', [TJvExtendedTextAttributes]);
end;
// ---------------------------------------------------------------
constructor TJvExtendedTextAttributes.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FTextAttr_1 := TFont.Create;
end;
// ---------------------------------------------------------------
end.
Gracias David. –
No olvide agregar un controlador de eventos 'OnChange' para que su componente también pueda reaccionar a los cambios en las subpropiedades de la Fuente. –
@Remy Lebeau - buena idea y gracias, lo haré. –