Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AL CIUDADANO”
DLL Y CONTROL DE
USUARIO
INTEGRANTES:
LEON COSANATAN, FRANK
LINARES VIGO, PATRICIA
GALAN MALCA, RICHARD
GONZALES AMAYA, EVELYN
SEGURA VELASQUEZ LIZBETH
Ingeniería de Sistemas
Universidad Nacional de Trujillo
INDICE
1. Definición ....................................................................................................................................... 2
2. Ventajas DLL ................................................................................................................................. 3
3. Dependencias de DLL ................................................................................................................ 3
4. Herramientas para solucionar problemas de DLL ......................................................... 4
5. Solver de problema Universal de DLL................................................................................. 5
6. Base de datos DLL Help ............................................................................................................ 6
7. Desarrollo de DLL ....................................................................................................................... 6
8. Tipos de archivos DLL ............................................................................................................... 6
9. Vinculación dinámica en tiempo de carga......................................................................... 6
10. Vinculación dinámica en tiempo de ejecución ............................................................ 6
11. El punto de entrada DLL ...................................................................................................... 7
12. Exportar Funciones DLL ...................................................................................................... 8
1. Definición...................................................................................................................... 9
2. Controles de Usuario vs Controles personalizados ...................................................... 9
3. Estructura de los controles de usuario....................................................................... 10
4. Crear controles de usuario ......................................................................................... 12
5. Incluir controles de usuario ........................................................................................ 13
5.1 Mediante el diseñador ........................................................................................ 13
1
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
1. Definición
Un archivo DLL es una biblioteca que contiene código y datos que pueden utilizarse por varios
programas al mismo tiempo. Por ejemplo, en sistemas operativos Windows, el archivo
Comdlg32 DLL realiza comunes funciones relacionadas con el cuadro de diálogo. Por lo tanto,
cada programa puede utilizar la funcionalidad contenida en este archivo DLL para implementar
un cuadro de diálogo Abrir. Esto ayuda a promover la reutilización de código y uso eficaz de la
memoria.
Mediante el uso de una DLL, un programa puede ser modelizado en componentes separados.
Por ejemplo, un programa de contabilidad podrá venderse por módulo. Cada módulo se puede
cargar en el programa principal en tiempo de ejecución si está instalado el módulo. Dado que
los módulos son independientes, el tiempo de carga del programa es más rápido y un módulo
sólo se carga cuando se solicita esa funcionalidad.
Además, las actualizaciones son fáciles de aplicar a cada módulo sin afectar a otras partes del
programa. Por ejemplo, puede que un programa de nóminas, y los tipos impositivos cambian
cada año. Cuando estos cambios se aíslan en un archivo DLL, se puede aplicar una actualización
sin necesidad de generar o volver a instalar el programa.
La lista siguiente describe algunos de los archivos que se implementan como DLL en sistemas
operativos Windows:
2
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
2. Ventajas DLL
La lista siguiente describe algunas de las ventajas que se proporcionan cuando un programa
utiliza un archivo DLL:
3. Dependencias de DLL
Cuando un programa o un archivo DLL utiliza una función DLL en otro archivo DLL, se crea una
dependencia. Por lo tanto, el programa ya no es independiente, y el programa puede
experimentar problemas si se rompe la dependencia. Por ejemplo, el programa puede no
funcionar si se produce una de las siguientes acciones:
3
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
La lista siguiente describen los cambios que se han introducido en Microsoft Windows 2000 y
posteriores sistemas operativos de Windows para ayudar a minimizar los problemas de
dependencia:
En protección de archivos de Windows, el sistema operativo impide que los archivos DLL
se actualiza o elimina un agente no autorizado del sistema. Por lo tanto, cuando un
programa de instalación intenta quitar o actualizar un archivo DLL que se define como
una DLL del sistema, protección de archivos de Windows buscará una firma digital válida.
Los DLLs privados le permiten aislar un programa de cambios que se realizan en los
archivos DLL compartidos. Los archivos DLL privados utilizan información específica de
versión o un archivo .local vacío para imponer la versión de la DLL que es utilizada por
el programa. Para utilizar archivos DLL privados, busque los archivos DLL en la carpeta
raíz. A continuación, para nuevos programas, agregar información específica de la
versión para el archivo DLL. Para los programas antiguos, utilice un archivo .local vacía.
Cada método indica el sistema operativo para utilizar los archivos DLL privados que se
encuentran en la carpeta raíz.
La herramienta Dependency Walker puede detectar de forma recursiva todos los archivos
DLL dependientes que son utilizados por un programa. Cuando se abre un programa de
Dependency Walker, Dependency Walker realiza las siguientes comprobaciones:
4
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Mediante el uso de Dependency Walker, puede documentar todas las DLL que utiliza el
programa. Esto puede ayudar a evitar y corregir problemas DLL que pueden surgir en el futuro.
Cuando se instala Microsoft Visual Studio 6.0, Dependency Walker se encuentra en el directorio
siguiente:
Dlister.exe
Esta utilidad enumera todos los archivos DLL en el equipo y registra la información
en un archivo de texto o un archivo de base de datos.
Dcomp.exe
Esta herramienta compara los archivos DLL que se enumeran en dos archivos de
texto y genera un tercer archivo de texto que contiene las diferencias.
Dtxt2DB.exe
Esta utilidad carga los archivos de texto que se crean mediante la utilidad Dlister.exe
y la utilidad de Dcomp.exe en la base de datos dllHell.
DlgDtxt2DB.exe
Para obtener más información acerca de la herramienta de duplicados, haga clic en el número
de artículo siguiente para verlo en Microsoft Knowledge Base:
5
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
La base de datos DLL Help le ayuda a encontrar las versiones específicas de archivos DLL
instalados por productos de software de Microsoft. Para obtener más información acerca de la
base de datos DLL Help, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/dllhelp/
7. Desarrollo de DLL
Esta sección describe los problemas y los requisitos que se deben considerar al desarrollar su
propia DLL.
La lista siguiente describe los criterios de aplicación para la vinculación dinámica en tiempo de
carga de uso y cuándo utilizar la vinculación dinámica en tiempo de ejecución:
6
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Rendimiento de inicio
Si es importante el rendimiento de inicio de la aplicación, debe utilizar la vinculación
dinámica en tiempo de ejecución.
Facilidad de uso
En la vinculación dinámica en tiempo de carga, las funciones DLL exportadas son
como las funciones locales. Esto facilita la llamar a estas funciones.
Lógica de la aplicación
En la vinculación dinámica en tiempo de ejecución, una aplicación puede bifurcarse
para cargar módulos diferentes según sea necesario. Esto es importante cuando se
desarrollan en varios idiomas.
La función de punto de entrada sólo debe realizar tareas sencillas de inicialización y no debe
llamar a cualquier otra carga de DLL o las funciones de terminación. Por ejemplo, en la función
de punto de entrada, usted no debe directa o indirectamente llamar la
función LoadLibrary o LoadLibraryEx . Además, no debe llamar la función FreeLibrary cuando el
proceso está finalizando.
Nota: En aplicaciones multiproceso, asegúrese de que el acceso a los datos globales de DLL está
sincronizado (seguro para subprocesos) para evitar la posible corrupción de datos. Para ello,
utilice TLS para proporcionar datos únicos para cada subproceso.
7
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Para utilizar una palabra clave function, debe declarar cada función que se va a exportar con la
siguiente palabra clave:
__declspec (dllexport)
Para utilizar funciones DLL exportadas en la aplicación, debe declarar cada función que se va a
importar con la siguiente palabra clave:
__declspec (dllimport)
Normalmente, se utilizaría un archivo de encabezado que tiene una instrucción definir y una
instrucción ifdef para separar la declaración de exportación y la instrucción import.
También puede utilizar un archivo de definición de módulo para declarar funciones DLL
exportadas. Cuando se utiliza un archivo de definición de módulo, no es necesario agregar la
palabra clave function para las funciones DLL exportadas. En el archivo de definición de módulo,
declare la instrucción LIBRARY y la instrucción EXPORTS del archivo DLL. El código siguiente es
un ejemplo de un archivo de definición.
8
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
CONTROLES DE USUARIO
1. Definición
Un control de usuario es un tipo de control compuesto que funciona de forma similar a la de
una página Web ASP.NET: se pueden agregar controles de servidor Web y marcado a un control
de usuario, así como definir propiedades y métodos para el control. A continuación, puede
incrustarlos en páginas Web ASP.NET, donde actúan como una unidad.
Los controles de usuario proporcionan un medio para crear y reutilizar interfaces gráficas de
usuario. Un control de usuario es esencialmente un componente con una representación visual.
Como tal, puede constar de uno o más controles de formularios Windows Forms, componentes
o bloques de código, que pueden extender su funcionalidad mediante la validación de la entrada
del usuario, la modificación de las propiedades de presentación o la ejecución de otras tareas
requeridas por su autor. Los controles de usuario pueden incluirse en formularios Windows
Forms de la misma manera que los demás controles. En la primera parte del tutorial, creará un
control de usuario sencillo denominado ctlClock. En la segunda parte del tutorial, ampliará la
funcionalidad de ctlClock a través de herencia.
En ocasiones, es posible que necesite cierta funcionalidad en un control que no está incluida en
los controles de servidor Web ASP.NET integrados. En estos casos, puede crear sus propios
controles. Dispone de dos opciones. Puede crear:
Controles de usuario.
Los controles de usuario son contenedores en los que puede colocar controles de
formato y de servidor Web. A continuación puede tratar el control de usuario como una
unidad y definir propiedades y métodos para el mismo.
Controles personalizados.
9
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Los controles de usuario son mucho más fáciles de crear que los controles personalizados, ya
que es posible reutilizar los ya existentes. Esto permite crear con facilidad controles con
elementos de interfaz de usuario complejos.
Un control de usuario Web ASP.NET es similar a una página Web ASP.NET completa (archivo
.aspx) e incluye una página de interfaz de usuario y código. El proceso de creación del control
de usuario es muy similar al proceso de creación de una página ASP.NET, sólo que al final se
agregan el formato y los controles secundarios necesarios. Al igual que una página, un control
de usuario puede incluir el código necesario para manipular su contenido e incluso realizar
tareas como el enlace de datos.
Un control de usuario se diferencia de una página Web ASP.NET en los siguientes aspectos:
El control de usuario no contiene elementos html, body o form. Estos elementos deben
estar en la página de alojamiento.
En un control de usuario puede utilizar los mismos elementos HTML (excepto html, body y
form) y controles Web que en una página Web ASP.NET. Por ejemplo, si está creando un control
de usuario para utilizar una barra de herramientas, puede colocar una serie de controles de
servidor Web Button en el control y crear controladores de eventos para los botones.
Tenga en cuenta que el control de usuario es muy similar a una página ASP.NET, ya que contiene
varios controles (un control TextBox y dos controles Button) y código que controla los eventos
Click de los botones y el evento Load de la página. Sin embargo, el control no contiene ningún
formato, excepto para los controles, y en lugar de una directiva @ Page contiene una directiva
@ Control.
10
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
11
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Los controles de usuario ASP.NET se crean casi de la misma forma en la que se diseñan las
páginas Web ASP.NET. Se pueden usar los mismos elementos y controles HTML en un control
de usuario que en una página ASP.NET estándar. Sin embargo, el control de usuario no tiene
elementos html, body ni form; además, la extensión de nombre de archivo debe ser .ascx.
1º. Abra el proyecto de sitio Web al que desee agregar controles de usuario. Si aún no
tiene ningún proyecto de sitio Web, puede crear uno.
2º. En el menú Sitio Web, haga clic en Agregar nuevo elemento. Aparecerá el cuadro de
diálogo Agregar nuevo elemento.
3º. En la opción Plantillas instaladas de Visual Studio del cuadro de diálogo Agregar nuevo
elemento, haga clic en Control de usuario Web.
6º. Opcionalmente, si desea mantener algún código del control de usuario en un archivo
independiente, active la casilla Colocar el código en un archivo independiente.
una directiva @ Control en vez de una directiva @ Page; además, el control no tiene los
elementos html, body ni form.
Agregue los códigos de formato y los controles al nuevo control de usuario, así como el código
de las tareas que realizará el control de usuario, como controlar los eventos del control o la
lectura de los datos desde un origen de datos.
12
Laboratorio Ingeniería de Software._
Ingeniería de Sistemas
Universidad Nacional de Trujillo
Para agregar un control de usuario ASP.NET a una página Web se sigue un proceso
parecido al de agregar otros controles de servidor. Sin embargo, se debe asegurar de
seguir el siguiente procedimiento para que todos los elementos necesarios se agreguen a
la página.
1º. Abra la página Web a la que desee agregar el control de usuario ASP.NET.
2º. Cambie a la vista Diseño.
3º. En el Explorador de soluciones, seleccione el archivo del control de usuario y
arrástrelo a la página.
El control de usuario ASP.NET se agrega a ella. Además, el diseñador crea la directiva @Register,
que se necesita para que la página reconozca el control de usuario. Ya puede trabajar con las
propiedades y métodos públicos del control.
13