Primitivas de visual basic

Solo disponible en BuenasTareas
  • Páginas : 7 (1672 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de octubre de 2010
Leer documento completo
Vista previa del texto
PRIMITIVAS EN VISUAL BASIC PARA LA CONTROLADORA CNICE
Para poder manipular las entradas y salidas de la controladora CNICE se han desarrollado una serie de funciones y procedimientos para que el usuario que quiera implementar un programa para manejarla no se tenga que preocupar por saber cómo mandar o recibir datos por el puerto paralelo, qué órdenes tiene que escribir para activar/desactivaruna salida o entrada, etc. Para poder utilizar los puertos del equipo en los sistemas operativos Windows 2000 y XP se necesita la librería dinámica io.dll. Esta librería es exactamente la misma que se ha empleado para esta misma función en los lenguajes MSWLogo y Borland C/C++. En Visual Basic la carga de la librería io.dll se hace desde las propias primitivas, liberando de esta tarea al usuario.Eso sí, esta librería debe estar en la ruta C:\WINDOWS\System32.

¿POR QUÉ SE UTILIZA UNA LIBRERÍA DINÁMICA PARA LAS PRIMITIVAS?
Una librería dinámica o dll (Dinamic Link Library) es un archivo con código ejecutable que se carga bajo demanda del programa por parte del sistema operativo. Las ventajas que aporta el uso de las dlls son los siguientes: • Reducen el tamaño de los archivos ejecutables:gran parte del código puede estar almacenado en bibliotecas y no en el propio ejecutable lo que redunda en una mejor modularización. • Pueden estar compartidas entre varias aplicaciones: si el código es suficientemente genérico, puede resultar de utilidad para múltiples aplicaciones . • Facilitan la gestión y aprovechamiento de la memoria del sistema: la carga dinámica permite al sistemaoperativo aplicar algoritmos que mejoren el rendimiento del sistema cuando se carguen estas bibliotecas. Además, al estar compartidas, basta con mantener una copia en memoria para todos los programas que la utilicen. • Brindan mayor flexibilidad frente a cambios: es posible mejorar el rendimiento o solucionar pequeños errores distribuyendo únicamente una nueva versión de la biblioteca dinámica.Nuevamente, esta corrección o mejora será aprovechada por todas las aplicaciones que compartan la biblioteca. Por todo ello, se ha decidido crear una librería dinámica que contenga a las primitivas para manejar la controladora CNICE.

CÓMO CREAR UN PROYECTO PARA GENERAR UNA LIBRERÍA DINÁMICA. ARCHIVOS FUENTE.
Para generar un librería dinámica no se debe crear un proyecto estándar como estamosacostumbrados puesto que en este caso no queremos generar un ejecutable (.exe) sino una librería dinámica (.dll). Por ello, se deberá elegir la opción DLL ActiveX en el menú de la ventana Nuevo proyecto (menú Archivo Nuevo proyecto).

Un vez hecho esto se nos abre un proyecto nuevo que contendrá un archivo de extensión .cls que es en el que se deberá poner el código de las primitivas. Por defecto elproyecto toma el nombre de Proyecto1 y el archivo .cls Class1.

Lo primero que se debe hacer es guardar el proyecto con nombre Primitivas_CNICE_VB.vbp y el archivo que contendrá el código con el nombre primitivas.cls. Ahora solo queda introducir las funciones y procedimientos que queramos que contenga la librería dinámica y compilar el proyecto. Cuando se compila el proyecto se genera el archivoPrimitivas_CNICE_VB.vbw.

CONSIDERACIONES DE PROGRAMACIÓN A TENER EN CUENTA PARA GENERAR/UTILIZAR LA LIBRERÍA DINÁMICA
Además de las funciones y procedimientos que componen las primitivas y sus funciones auxiliares, es necesario realizar una serie de tareas auxiliares: Importar librerías externas. En este caso la librería dinámica io.dll para acceso a los puertos.
'Las funciones PortOut y PorIntpertecen a la librería IO.DLL y permiten el acceso al 'puerto paralelo en los Sistemas Operativos Windows 2000 y XP. Private Declare Sub PortOut Lib "IO.DLL" (ByVal nPort As Integer, ByVal nData As Integer) Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Integer

Declaración de variables globales:
'La variable ESTADOS_SALIDAS almacena el estado de las 8 salidas...
tracking img