Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2008, 13:23
Avatar de JuanRAPerez
JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 5 meses
Puntos: 27
Sonrisa Crear una DLL ActiveX partiendo de mi codigo ASP

Bueno antes que nada está es una pequeña guía para hacerlo, la encontré por ahí y pues pensé en que quizás pueda ser usada por algunas personas

que porque no la puse en las FAQ ¿?, pues pretendo poner mas funciones y cosas hasta tener terminada una DLL que.

+ se conecte a una base de datos
+ pagine resultados
+ use un CSS para verse "decente" la tabla
+ entre otras ideas



Iniciando la DLL en Visual Basic:
EDITO: Microsoft Visual Basic 6.0
+ Nuevo proyecto
+ Seleccionamos "DLL ActiveX"


+ Una vez creado el proyecto le damos clic derecho a “Proyecto”, seleccionamos “Propiedades de proyecto”.


+ Una vez entramos al las propiedades le cambiamos nombre a “ForosDelWebDLL”.

+ Damos clic a “Aceptar

+ Luego seleccionamos “class1”, y cambiamos el nombre y colocamos de nombre “funciones”.


+ Luego Menú “Proyecto” opción “Referencias”,

++ Adicionamos
+++ Microsoft Active Server Pages Object Library
+++ Microsoft Active Server Pages Object Context Object Library


+++ COM+ 1.0 Admin Type Library
+++ COM+ Services Type Library


+++ Microsoft ActiveX Data Objects 2.8 Library
+++ Microsoft ActiveX Data Objects Recordset 2.8 Library


+ Damos clic en “aceptar”.
+ Creamos en c:\ un directorio llamado MIDLLASP (con el fin de hacer la prueba completa de este ejemplo) - c:\ MIDLLASP
+ Guardamos en ese directorio nuestro Proyecto y Clase
Pegamos en nuestra Clase llamada Funciones el siguiente código:

NOTA IMPORANTE: favor tomar en cuenta que algunos saltos de línea son provocados por el programa que utilizo para la redacción.

Código asp:
Ver original
  1. Option Explicit
  2.  
  3. Private ScriptingContext As ScriptingContext
  4. Private Application As Application
  5. Private Request As Request
  6. Private Response As Response
  7. Private Server As Server
  8. Private Session As Session
  9.  
  10. Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
  11.      Set ScriptingContext = PassedScriptingContext
  12.      Set Application = ScriptingContext.Application
  13.      Set Request = ScriptingContext.Request
  14.      Set Response = ScriptingContext.Response
  15.      Set Server = ScriptingContext.Server
  16.      Set Session = ScriptingContext.Session
  17. End Sub
  18.  
  19. Public Sub OnEndPage()
  20.      Set ScriptingContext = Nothing
  21.      Set Application = Nothing
  22.      Set Request = Nothing
  23.      Set Response = Nothing
  24.      Set Server = Nothing
  25.      Set Session = Nothing
  26. End Sub
  27.  
  28. Public Sub Mensaje(Texto As String)
  29.      Response.Write "<b><font color='red'>" & Texto & "</font></b>"
  30. End Sub

+ Guardamos el proyecto una vez más.
+ Clic derecho al “Proyecto”, Clic a la opción “Publicar”, y luego seleccionamos “Generar resultados…


+ Si los pasos se han hecho como se ha explicado en este proceso (guardando antes de generar, en el fólder que indicamos se ha creado la DLL correspondiente a este proyecto)


+ Si no esta en el fólder puede ser por 1 sola razón no guardaron antes de “generar el resultado”



Cargando la DLL

Antes que nada un par de aclaraciones.

Hay que registrar la DLL, una vez que la DLL esta registrada, cada vez que deseemos actualizar la DLL tenemos que reemplazar la DLL, cuando la DLL se ha utilizado una vez (se ha probado en el web), da error a la hora de reemplazar asi que lo que yo hice para poder estar seguro que se estaba reemplazando es lo siguiente

+ Detener el servicios de publicación WWW
+ Des registramos la DLL
+ Eliminar la DLL en el directorio que la instale
+ Copiamos la DLL
+ Registramos la DLL
+ Iniciar el servicio de publicación WWW

Basados en mi maquina (Windows XP realice el siguiente proceso)
Cree un directorio dentro del “wwwroot” llamado “PruebaDLL”, dentro de el copiamos creamos otro llamado “DLL”.

En mi directorio MiDLLASP cree un BAT para evitar estar haciendo este proceso a cada rato y así hacerlo un poco más dinámico.

NOTA: al registrar la DLL el bat enviara un mensaje de que se ha registrado correctamente.

registrar.bat
Cita:
@echo off
echo Deteniendo IIS
C:\Windows\System32\net stop w3svc
echo .
del C:\Inetpub\wwwroot\PruebaDLL\ForosDelWebDLL.dll
echo Eliminado DLL
echo .
copy "C:\MIDLLASP\ForosDelWebDLL.dll" "C:\Inetpub\wwwroot\PruebaDLL\DLL"
echo Copiando DLL
echo .
C:\Windows\System32\regsvr32 C:\Inetpub\wwwroot\PruebaDLL\DLL\ForosDelWebDLL.dl l
echo Registrado DLL
echo .
C:\Windows\System32\net start w3svc
echo Iniciando IIS
echo .


Creando el ASP para mostrar el contenido de la DLL
+ Abrimos nuestro programa para diseño de Paginas Web y pegamos el siguiente código. (yo usare Notepad++
+ Guardamos la página en c:\inetpub\PruebaDLL\default.asp.

default.asp
Código asp:
Ver original
  1. <html>
  2. <head>
  3.     <title>Mi DLL ASP</title>
  4. </head>
  5. <body>
  6.     <&#37;
  7.     Dim PobarMiDLL
  8.     On Error Resume Next
  9.         Set PobarMiDLL = Server.CreateObject("ForosDelWebDLL.funciones")
  10.     If Err <> 0 then
  11.         response.write "<h2>Error cargando DLL</h2>"
  12.         response.end
  13.     else
  14.         PobarMiDLL.Mensaje "Este sera el mensaje que se imprimira"
  15.         Set PobarMiDLL = Nothing
  16.     End If
  17.     %>
  18. </body>
  19. </html>

+ Muestro navegador nos mostrara esto:


Regresando al código nuestro sub utilizado es el siguiente:

Código asp:
Ver original
  1. Public Sub Mensaje(Texto As String)
  2.      Response.Write "<b><font color='red'>" & Texto & "</font></b>"
  3. End Sub

En el cual vemos como se imprime el texto enviado al sub, en color rojo y negrito.

Espero que a alguien le sea de ayuda:

Enlace del recurso original:
http://www.elguruprogramador.com.ar/...ar-con-asp.htm


suerte

EDITO:
Cita:
para esta guía Microsoft Visual Basic 6.0 :)
__________________
JuanRa Pérez
San Salvador, El Salvador

Última edición por JuanRAPerez; 25/09/2008 a las 09:05 Razón: adicionar version de Microsoft Visual Basic