|
Ahora que tenemos motivos claros para crear un módulo de datos, migraremos la pequeña aplicación que hemos hecho para que los datos estén separados de la implementación.
Desde el menú de Delphi, seleccione File-New. En el diálogo de "New Items" encontrará el Data Module en la primera página. Selecciónelo y presione OK. Delphi nombra nuestro nuevo módulo de datos DataModule1.
Grábelo en disco con el nombre "datamoduleclientes" para que tengamos un nombre al cual referirnos cuando lo comencemos a usar desde otros lugares.
Ahora necesitamos mover los queries que tenemos en la forma principal a nuestro nuevo datamodule. Esto es tan sencillo como seleccionarlos, y cortar y pegar.
Ahora cambie la propiedad "Name" del datamodule para que sea significativa. En mi ejemplo lo nombré "dmClientes".
Si usted es perceptivo, habrá notado que los elementos TField que pertenecen a estos queries también han sido copiados, junto con todas las propiedades (nombres de campo, formatos, etcétera) que usted ha definido con anterioridad. Este fragmento del código de nuestro módulo de datos nos muestra que los TFields han sido copiados:
unit datamoduleclientes; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables; type TdmClientes = class(TDataModule) qryClientesporApellido: TQuery; qryClientesporApellidoLAST_NAME: TStringField; qryClientesporApellidoFIRST_NAME: TStringField; qryClientesporApellidoACCT_NBR: TFloatField; qryClientesporApellidoADDRESS_1: TStringField; qryClientesporApellidoCITY: TStringField; qryClientesporApellidoSTATE: TStringField; qryClientesporApellidoZIP: TStringField; |
Note que esto sólo ocurre con propiedades, NO con manejadores de eventos. Los manejadores de eventos están asociados con la forma y no con objetos dentro de la forma.
Ahora necesitamos decirle a la forma principal que los datos provienen no de los queries en la forma principal (por ejemplo qryClientesporApellido), sino de los queries en el módulo de datos (por ejemplo dmClientes.qryClientesporApellido). Seleccione la forma de Clientes y vaya al menú "File-Use Unit". A continuación podrá ver una lista de las formas que su forma principal no está usando. Seleccione "datamoduleclientes".
Ahora nuestra sección "implementation" tiene la siguiente apariencia:
implementation uses consultaclientes, datamoduleclientes; |