Lexico
...el poder de lo simple...
Marzo.6.2010

Librería o biblioteca de clases


En el argot de la programación se conoce como librería o biblioteca a un archivo que contiene varios recursos programados previamente con el fin de ser utilizados en el futuro por algún programador. Algunas veces se distribuye entre los clientes en código fuente (open source) y otras en forma de código ya compilado. La primera exige entonces que el  programador-usuario compile el archivo para poder ser utilizado y la segunda requiere ya no compilarlo sino incorporarlo al programa desde donde se le utilizará. La segunda forma estará contenido bajo un formato ejecutable propio del entorno de desarrollo utilizado siendo los más comunes .obj, .lib, .jad, .exe y en el caso de la plataforma .NET en formato PE (Programa Ejecutable) donde una de las extensiones es  .dll.

Para producir una librería de modelos o clases de objetos utilizando el lenguaje Lexico basta con programar las clases en un archivo fuente (extensión .lx) e indicar al compilador (Generar --> Propiedades de compilación --> objetivo) que produzca no un archivo independiente ejecutable (extensión .exe) sino un archivo ejecutable pero dependiente (extensión .dll) de otro.

Compilación para libreria en dll

Utilización de las bibliotecas o librerías


Para utilizar clases ya programadas el programador-usuario debe incorporar los archivos que las contengan ya definidas al trabajo mediante la instrucción incluya. Ejemplo: Se incorporan dos librerías. Una está en código fuente Lexico (.lx) y la otra está ya compilada (.dll).

 incluya "Raices.lx", "CPuntos.dll"

/*...aquí va el programa que utiliza recursos existentes en los archivos Raices.lx (que contiene código fuente aún no compilado) y
CPuntos.dll  (que contiene código ya compilado para .NET)...*/

Si en Raices.lx estuviera definida la clase Cosa el programador podría utilizarla para crear un objeto de esa clase, tipo o modelo:

            el objeto uno es una Cosa

Si en CPuntos.dll existiera la clase Ojo, el programador podría utilizarla para crear objetos de esa clase, así:

1. Si quien programó la librería tuvo el buen estilo de crear un espacio de nombres, digamos llamado  EmpresaX.
Comunicaciones.Lan: deberá hacerse referenciando el espacio de nombres:

             el objeto dos es un EmpresaX. Comunicaciones.Lan.Ojo
   
2. Si el programador no definió un espacio de nombres el compilador Lexico establece espacio de nombres con el nombre del archivo anteponiéndole En, por lo que el programador-usuario de la clase ha de crear el objeto utilizando el nombre de la clase precedida del espacio de nombres estandar:

            el objeto tres es un EnCPuntos.Ojo


Ahorro de tiempo para el programador


Como puede observarse en varios ejemplos anteriores no se ha tenido en cuenta ni la instrucción incluya ni el espacio de nombres System.Windows.Forms. donde está definida la clase la clase Form programada en la plataforma .NET ni el archivo ya compilado o librería que la contiene  System.Windows.Forms.dll. No ha sido necesario porque en Lexico se han asumido automáticamente varias librerias de mucho uso. Cuando el compilador dice no encontrar la clase es porque está mal deletreada, porque requiere referenciarse dentro de su espacio de nombres o porque el archivo que la contiene aún no ha sido incluido para su utilización.

Ver uso de objetos compuestos