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.