Skip to content

Creación de un nuevo componente en Delphi

En Delphi, un componente es una clase de objeto que se puede usar y reutilizar en múltiples formularios, módulos y proyectos.

Los componentes pueden tener propiedades, eventos y métodos, y se pueden diseñar y personalizar utilizando el diseñador visual de Delphi.

En este artículo, vamos a explicar cómo crear un nuevo componente personalizado en Delphi paso a paso.

Para ilustrar este proceso, crearemos un componente simple que muestra un mensaje de saludo en un cuadro de diálogo.

Creación paso a paso de un componente

Crear una nueva unidad

Lo primero que debemos hacer es crear una nueva unidad en Delphi para nuestro nuevo componente. Para ello, abrimos Delphi y seleccionamos “File” -> “New” -> “Unit – Delphi” en la barra de menú.

Crear una nueva clase

En la nueva unidad, creamos una nueva clase descendiente de TComponent, que es la clase base de todos los componentes en Delphi. Para hacer esto, agregamos el siguiente código a la sección de interfaz de la unidad:

type
  TSaludo = class(TComponent)
  private
    FNombre: string;
  public
    procedure Saludar;
  published
    property Nombre: string read FNombre write FNombre;
  end;

En este código, creamos una nueva clase llamada TSaludo que es descendiente de TComponent. Además, agregamos una propiedad pública llamada “Saludar” y una propiedad publicada llamada “Nombre“.

Implementar la propiedad Saludar

A continuación, necesitamos implementar el método Saludar en la clase TSaludo.

Este método mostrará un cuadro de diálogo que muestra un mensaje de saludo personalizado.

Para hacer esto, agregamos el siguiente código a la sección de implementación de la unidad:

uses
  Vcl.Dialogs;

procedure TSaludo.Saludar;
begin
  ShowMessage('¡Hola, ' + FNombre + '!');
end;

Se muestra que utilizamos el procedimiento ShowMessage de la unidad Vcl.Dialogs para mostrar un cuadro de diálogo con un mensaje de saludo personalizado.

Registrar el componente

Para que Delphi reconozca nuestro nuevo componente, y aparezca en la paleta de Componentes, necesitamos registrarlo.

Para ello, agregamos el siguiente código a la sección de implementación de la unidad:

procedure Register;
begin
  RegisterComponents('MisComponentes', [TSaludo]);
end;

initialization
  Register;

Con esto definimos un procedimiento llamado Register que se utiliza para registrar nuestro componente TSaludo en Delphi. Luego, llamamos a este procedimiento en el bloque de inicialización de la unidad.

Compilar y probar el componente

Finalmente, compilamos la unidad y probamos el componente en una aplicación. Para hacer esto, creamos una nueva aplicación y agregamos una instancia de TSaludo en el formulario.

Luego, establecemos la propiedad Nombre en el cuadro de diálogo del objeto TSaludo y llamamos al método Saludar en el evento OnClick de un botón.

El siguiente código muestra un ejemplo de cómo usar el componente TSaludo en una aplicación:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Saludo.Nombre := 'Juan';
  Saludo.Saludar;
end;

Hemos creado con éxito nuestro primer componente personalizado en Delphi.