Uses
Unidades
Aunque cada formulario se define mediante una unidad, la relación inversa no es necesariamente la misma. Las unidades no tienen por qué definir formularios. Pueden, de la forma mássimple, definir y hacer disponible para su ejecución una colección de rutinas. Seleccionando el comando Archivo > Nuevo y luego el icono Unit en la página New del Object Repository, se añade una unidad en blanco al proyecto actual. Esta unidad en blanco contiene el código siguiente delimitando las secciones en que se divide una unidad:
unit Unit1;
interface
implementation
end.
Elconcepto de unidad es bastante simple. Una unidad tiene un nombre único, que corresponde a su nombre de archivo; una sección de interfaz que declara qué es visible a otras unidades; y una sección de implementación con el código auténtico y otras declaraciones ocultas. Finalmente, la unidad puede tener una sección de inicialización opcional con cierta porción de código de inicio, que se ejecuta cuandoel programa se carga en la memoria; también puede tener una sección de finalización, opcional, que se ejecutaría al terminar el programa.
La estructura general de una unidad, con todas sus secciones posibles, es la siguiente:
unit unitName;
interface
// otras unidades a que necesitamos referirnos
uses
A, B, C;
// definición del tipo exportado
type
newType = TypeDefinition;
//constantes exportadas
const
Zero = 0;
// variables globales
var
Total: Integer;
// lista de funciones y procedimientos exportados
procedure MyProc;
implementation
uses
D, E;
// variable global oculta
var
PartialTotal: Integer;
// todas las funciones exportadas deben ser codificadas
procedure MyProc;
begin
// ... código del procedimiento MyProc
end;initialization
// parte de inicialización, opcional
finalization
// código de limpieza, opcional
end.
La cláusula uses, al principio de la sección de interfaz, indica a qué otras unidades tenemos que acceder en la porción de interfaz de la unidad. En otras palabras, indica a qué unidades se puede acceder desde la unidad en la que se usa la cláusula. Esto incluye las unidades que definenlos tipos de datos a que se refirió en la definición de otros tipos de datos, como las componentes dentro de un formulario que estemos definiendo.
La segunda cláusula uses, al principio de la sección de implementación, indica otras unidades a que necesitamos acceder sólo en el código de implementación. Cuando necesite referirse a otras unidades del código de las rutinas y métodos, deberá añadirelementos en esta segunda cláusula uses, en vez de hacerlo en la primera. Todas las unidades a que se refiera deben estar presentes en el directorio del proyecto o un directorio de la ruta de búsqueda (puede establecer la ruta de búsqueda de un proyecto en la página Directories/Conditionals del cuadro de diálogo Options del proyecto).
El efecto de una instrucción uses es importar sólo la porciónde interfaz precompilada de las unidades listadas. La porción de implementación de la unidad se considera sólo cuando tal unidad se compila. Las unidades a que se refiera pueden estar tanto en formato de código fuente (PAS) o formato compilado (DCU), pero la compilación tiene que haber tenido lugar en la misma versión de Delphi.
En la interfaz de una unidad se pueden declarar bastantes elementos...
Regístrate para leer el documento completo.