Sei sulla pagina 1di 14

“AÑO DEL BUEN SERVICIO

AL CIUDADANO”

DLL Y CONTROL DE
USUARIO

INTEGRANTES:
 LEON COSANATAN, FRANK
 LINARES VIGO, PATRICIA
 GALAN MALCA, RICHARD
 GONZALES AMAYA, EVELYN
 SEGURA VELASQUEZ LIZBETH

DOCENTE: MG. CORDOVA OTERO, JUAN LUIS


Laboratorio Ingeniería de Software._

Ingeniería de Sistemas
Universidad Nacional de Trujillo

INDICE

TEMA 1: BIBLIOTECAS DE CLASES

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

TEMA 2: CONTROLES DE USUARIO

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

BIBLIOTECAS DE CLASES O DLL

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:

 Archivos de controles ActiveX (.ocx)


Un ejemplo de un control ActiveX es un control de calendario que le permite seleccionar
una fecha en un calendario.

 Archivos (.cpl) del Panel de control


Un ejemplo de un archivo .cpl es un elemento que se encuentra en el Panel de Control.
Cada elemento es un archivo DLL especializado.

 Archivos (.drv) del controlador de dispositivo


Un ejemplo de un controlador de dispositivo es un controlador de impresora que
controla la impresión a una impresora.

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:

 Utiliza menos recursos


Cuando varios programas utilizan la misma biblioteca de funciones, un archivo DLL
puede reducir la duplicación de código que se carga en el disco y en memoria física. Esto
puede influir en gran medida el rendimiento no sólo el programa que se ejecuta en
primer plano, sino también de otros programas que se ejecutan en el sistema operativo
Windows.

 Promueve la arquitectura modular


Un archivo DLL ayuda a promover el desarrollo de programas modulares. Esto le ayudará
a desarrollar programas grandes que requieren varias versiones de idioma o un
programa que requiere la arquitectura modular. Un ejemplo de un programa modular
es un programa de contabilidad que tiene muchos módulos que se pueden cargar
dinámicamente en tiempo de ejecución.

 Simplifica la instalación e implementación


Cuando una función dentro de un archivo DLL necesita una actualización o una revisión,
la distribución y la instalación de la DLL no requiere el programa necesario volver a
vincular con el archivo DLL. Además, si varios programas utilizan la misma DLL, los
programas múltiples se beneficiarán de la actualización o la revisión. Este problema
puede producirse con más frecuencia cuando se utiliza una DLL de terceros que
periódicamente se actualiza o fijo.

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:

 Una DLL dependiente se actualiza a una nueva versión.


 Se fija una DLL dependiente.
 Una DLL dependiente se sobrescribe con una versión anterior.
 Una DLL dependiente se quita del equipo.

3
Laboratorio Ingeniería de Software._

Ingeniería de Sistemas
Universidad Nacional de Trujillo

Estas acciones se conocen generalmente como conflictos de DLL. Si no se exige la compatibilidad


con versiones anteriores, no puede ejecutar correctamente el programa.

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:

 PROTECCIÓN DE ARCHIVOS DE WINDOWS

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.

 ARCHIVOS DLL PRIVADOS

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.

4. Herramientas para solucionar problemas de DLL


Varias herramientas están disponibles para ayudarle a solucionar problemas DLL. Las
herramientas siguientes son algunas de estas herramientas.

4.1. Dependency Walker

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:

 Busca archivos DLL que faltan.


 Comprueba si los archivos de programa o archivos DLL que no son válidas.
 Comprueba que las funciones de importación y funciones de exportación coinciden.
 Comprueba errores de dependencia circular.
 Comprueba los módulos que no son válidos porque los módulos son para un
sistema operativo diferente.

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:

unidad\Program Files\Microsoft Visual Studio\Common\Tools

5. Solver de problema Universal de DLL


La herramienta Solucionador Universal de Problemas de DLL (DUPS) es utilizada para auditar,
comparar, documentar y mostrar la información del archivo DLL. La lista siguiente describen las
utilidades que componen la herramienta DUPS:

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

Esta utilidad proporciona una versión de interfaz gráfica de usuario de la utilidad


Dtxt2DB.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:

247957 uso de DUPS.exe para resolver problemas de compatibilidad DLL

5
Laboratorio Ingeniería de Software._

Ingeniería de Sistemas
Universidad Nacional de Trujillo

6. Base de datos DLL Help

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.

8. Tipos de archivos DLL


Cuando se carga una DLL en una aplicación, dos métodos de vinculación permiten llamar a las
funciones DLL exportadas. Los dos métodos de vinculación son la vinculación dinámica en
tiempo de carga y vinculación dinámica en tiempo de ejecución.

9. Vinculación dinámica en tiempo de carga


En la vinculación dinámica en tiempo de carga, una aplicación realiza llamadas explícitas a
funciones DLL exportadas como funciones locales. Para utilizar la vinculación dinámica en
tiempo de carga, proporcionar un archivo de encabezado (. h) y un archivo de biblioteca (.lib) de
importación al compilar y vincular la aplicación. Al hacerlo, el vinculador proporcionará el
sistema con la información que es necesaria para cargar el archivo DLL y resolver las ubicaciones
de la función exportadas de DLL en tiempo de carga.

10. Vinculación dinámica en tiempo de ejecución


En la vinculación dinámica en tiempo de ejecución, una aplicación llama a la función LoadLibrary
o la función LoadLibraryEx para cargar la DLL en tiempo de ejecución. Después de que la DLL se
carga correctamente, utilice la función de GetProcAddress para obtener la dirección de la
función DLL exportada que desea llamar. Cuando se utiliza vinculación dinámica en tiempo de
ejecución, no es necesario un archivo de biblioteca de importación.

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.

11.El punto de entrada DLL


Cuando se crea un archivo DLL, puede especificar opcionalmente una función de punto de
entrada. La función de punto de entrada se llama cuando procesos o subprocesos se adhieren a
la DLL o desasociado a sí mismos desde el archivo DLL. Puede utilizar la función de punto de
entrada para inicializar estructuras de datos o destruir las estructuras de datos según sea
necesario por el archivo DLL. Además, si la aplicación es multiproceso, puede utilizar
almacenamiento local de subprocesos (TLS) para asignar memoria que es privado para cada
subproceso en la función de punto de entrada. El código siguiente es un ejemplo de la función
de punto de entrada DLL.

Cuando la función de punto de entrada devuelve el valor FALSE , la aplicación no se iniciará si


utiliza vinculación dinámica en tiempo de carga. Si utiliza vinculación dinámica en tiempo de
ejecución, no se cargará la DLL individual.

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

12.Exportar Funciones DLL


Para exportar funciones DLL, puede agregar una palabra clave de función a las funciones DLL
exportadas o crear un archivo de definición (.def) de módulo que enumera las funciones DLL
exportadas.

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.

2. Controles de Usuario vs Controles personalizados

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.

Un control personalizado es una clase escrita por un desarrollador que se deriva


de Control o WebControl.

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.

3. Estructura de los controles de usuario

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:

 La extensión de nombre de archivo para el control de usuario es .ascx.

 En lugar de una directiva @ Page, el control de usuario contiene una directiva @


Control que define la configuración y otras propiedades.

 Los controles de usuario no se pueden ejecutar como archivos independientes. En su


lugar, debe agregarlos a las páginas ASP.NET, como haría con cualquier otro control.

 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

<% @ Control Language="C#" ClassName="UserControl1" %>


<script runat="server">
protected int currentColorIndex;
protected String[] colors = {"Red", "Blue", "Green", "Yellow"};
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
currentColorIndex =
Int16.Parse(ViewState["currentColorIndex"].ToString
());
}
else
{
currentColorIndex
= 0;
DisplayColor();
}
}

protected void DisplayColor()


{
textColor.Text = colors[currentColorIndex];
ViewState["currentColorIndex"] =
currentColorIndex.ToString();
}

protected void buttonUp_Click(object sender, EventArgs e)


{
if(currentColorIndex == 0)
{
currentColorIndex = colors.Length - 1;
}
else
{
currentColorIndex -= 1;
}
DisplayColor();
}

protected void buttonDown_Click(object sender, EventArgs e)


{
if(currentColorIndex == (colors.Length - 1))
{
currentColorIndex = 0;
}
else
{
currentColorIndex += 1;
}
DisplayColor();
}
</script>
<asp:TextBox ID="textColor"
runat="server" ReadOnly="True" />
<asp:Button Font-Bold="True" ID="buttonUp"
runat="server" Text="^" OnClick="buttonUp_Click"
/>
<asp:Button Font-Bold="True" ID="buttonDown"
runat="server" Text="v" OnClick="buttonDown_Click"
/>

11
Laboratorio Ingeniería de Software._

Ingeniería de Sistemas
Universidad Nacional de Trujillo

4. Crear controles de usuario

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.

Para crear un control de usuario ASP.NET:

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.

4º. En el cuadro Nombre, escriba un nombre para el control. De forma predeterminada, la


extensión de nombre de archivo .ascx se anexa al nombre de control que escriba.

5º. En la lista Lenguaje, seleccione el lenguaje de programación que desee utilizar.

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.

7º. Haga clic en Agregar.

Se crea el nuevo control de usuario ASP.NET y, a continuación, se abre en el diseñador. El código


de formato para este nuevo control es similar al de una página Web ASP.NET, salvo que contiene

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

Ilustracion 1: Crear un control de usuario

5. Incluir controles de usuario

5.1 Mediante el diseñador

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

Potrebbero piacerti anche