
08/06/2004, 15:39
|
| | Fecha de Ingreso: mayo-2004 Ubicación: Sevilla, Spain
Mensajes: 20
Antigüedad: 21 años Puntos: 0 | |
Ejemplo de dll llamada desde asp Hola:
No entiendo muy bien lo de la 1ª y la 2ª. Lo que sí tengo claro es que necesitas una dll que se pueda registrar y que puedas acceder al código fuente, para entender lo que hace, además de saber Visual Basic para interpretarlo.
Si ya tienes una dll que debes usar, una vez declarada en el servidor la puedes invocar desde una página ASP parecida al ejemplo que te pongo a continuación.
Se trata de una página ASP que llama a un componente COM que es una DLL desarrollada en Visual Basic 6. Una vez creada se instala en el servidor y se registra con Regsvr32 "nombredeladll.dll" y Regsvr32 /u "nombredeladll.dll" para desregistrarla.
Si ya está registrada lo único que tienes que hacer es llamarla y usarla. Pero para ello debes saber su funcionamiento interno para poder trabajar con ella.
Concretamente la dll de ejemplo entrega una variable true o false en función de si el usuario se encuentra en la base de datos con la contraseña correcta que previamente lee del formulario html. Como verás también abre una base de datos y lee un formulario html, así que si no te dan el código fuente de la misma lo puedes tener complicado. “CHEQUEO.ASP” PÁGINA ASP DE LLAMADA A ACCESO.DLL
<%
'Declaracion explicita de variables
Option Explicit
Dim objAcceso
Set objAcceso = Server.CreateObject("Acceso.clsUsuario") 'Llamada a la dll
IF objAcceso.EsUsuario Then
response.Cookies("Clave")="true"
response.redirect "miemb1.asp"
'Response.Write "Saludos usuario " & Request.Form("login") & "<br>"
ELSE
response.redirect "miem_error.htm"
'Response.Write Request.Form("login") & " no es un usuario reconocido<br>"
END IF
Set objAcceso = Nothing
%>
COMPONENTE COM “ACCESO.DLL”:
ABRE BD, COMPRUEBA TEXTBOX CON LA BD, Y CREA RESULTADO esusuario = true/false 'Declaración explícita de vbles.
Option Explicit
'Declaramos el objeto Scripting Context que se
'empleará para hacer la interfaz con la página
'ASP que utiliza al objeto
Private objSC As ScriptingContext
Private objApplication As Application
Private objResponse As Response
Private objRequest As Request
Private objServer As Server
Private objSession As Session
'Objetos de base de datos
Private objBase As ADODB.Connection
Private objTabla As ADODB.Recordset
'Cuando se arranca la página ASP que crea el objeto COM,
'se inicia el evento OnStartPage
Public Sub OnStartPage(ByVal ContextoScript As ScriptingContext)
Set objSC = ContextoScript
Set objResponse = objSC.Response
Set objApplication = objSC.Application
Set objRequest = objSC.Request
Set objServer = objSC.Server
Set objSession = objSC.Session
'Objetos de base de datos
Set objBase = New ADODB.Connection
objBase.Open "BaseUsers"
End Sub
'Esta funcion indica si el usuario que ha entrado en la
'pagina es correcto o no
Public Function EsUsuario() As Boolean
Dim SQL As String
SQL = "SELECT Count(*) FROM USERS WHERE "
SQL = SQL & "LOGIN = '" & objRequest.Form("login") & "' AND "
SQL = SQL & "PASSWORD = '" & objRequest.Form("password") & "'"
Set objTabla = New ADODB.Recordset
objTabla.Open SQL, objBase, 3, 3
If objTabla(0) = 0 Then
EsUsuario = False
Else
EsUsuario = True
End If
objTabla.Close
Set objTabla = Nothing
End Function
Public Sub OnEndPage()
'Objetos de base de datos
objBase.Close
Set objBase = Nothing
'Destruimos los objetos
Set objResponse = Nothing
Set objApplication = Nothing
Set objRequest = Nothing
Set objServer = Nothing
Set objSession = Nothing
Set objSC = Nothing
End Sub
Saludos y suerte
Última edición por enrib4; 08/06/2004 a las 15:52 |