Debido a que muchos internautas han preguntado recientemente, simplemente lo resolveré. Si tienes alguna pregunta, puedes dejarla en los comentarios.
1. Cree una nueva DLL
Abra VB6-->Archivo-->Nuevo proyecto-->Seleccione ActiveX DLL-->Aceptar
2. Cambie el nombre del proyecto y la clase predeterminados.
Cambio de nombre del proyecto: Proyecto --> Propiedades del Proyecto 1 (este nombre corresponde al nombre del proyecto en el formulario) --> Cambie el nombre del "Nombre del proyecto" a ASP2DLL en el cuadro de diálogo abierto (después de que el componente DLL esté registrado en el sistema, el El método de llamada predeterminado en ASP es "nombre del proyecto.nombre de clase") --> Aceptar
Cambio de nombre de clase Cambie el nombre del nombre a Demo en la ventana de propiedades
3. Definir objetos básicos ASP
Agregar módulo: Proyecto-->Agregar módulo-->Seleccione "Módulo"-->Abrir
Cambie el nombre del módulo: Explorador de proyectos-->Módulo--Módulo1-->Renombrar Módulo1 a "ASPMod" en la ventana de propiedades
Agregue código de módulo. Este código es aplicable a casi todos los componentes DLL de ASP encapsulados en vb. Simplemente cambie ASP2DLL al nombre del proyecto o manténgalo coherente al llamar.
Copie el código de código de la siguiente manera:
ObjContext público como ObjectContext
Aplicación pública como ASPTypeLibrary.Application
Servidor público como ASPTypeLibrary.Server
Sesión pública como ASPTypeLibrary.Session
Respuesta pública como ASPTypeLibrary.Response
Solicitud pública como ASPTypeLibrary.Request
Sub público ASP2DLL_Initialize()
En caso de error Continuar siguiente
Establecer objContext = GetObjectContext
Establecer aplicación = objContext.Item("Aplicación")
Establecer servidor = objContext.Item ("Servidor")
Establecer sesión = objContext.Item ("Sesión")
Establecer solicitud = objContext.Item ("Solicitud")
Establecer respuesta = objContext.Item("Respuesta")
Subtítulo final
Sub público ASP2DLL_Terminate()
En caso de error Continuar siguiente
Establecer aplicación = nada
Establecer servidor = nada
Establecer sesión = nada
Establecer solicitud = Nada
Establecer respuesta = Nada
Establecer objContext = Nada
Subtítulo final
Evaluación de función pública (ByRef strEval)
Atenuar EvalObject como nuevo ScriptControl
EvalObject.Language = "VBScript"
Evaluación = EvalObject.Eval(strEval)
Establecer EvalObject = Nada
Función final
4. Guarde la DLL recién creada.
Archivo-->Guardar proyecto, confirmar completamente y guardar todos los módulos, módulos de clase y archivos de proyecto en una carpeta
5. Llame a objetos ASP en módulos de clase.
Explorador de proyectos -> Módulo de clase -> Haga doble clic en Demostración para cambiar al editor de código del módulo de clase de demostración, pegue el código, inicialice la llamada de clases y la destrucción de clases, el código es el siguiente:
Copie el código de código de la siguiente manera:
Subclase privada_Initialize()
ASP2DLL_Inicializar
Subtítulo final
Subclase privada_Terminar()
ASP2DLL_Terminar
Subtítulo final
En este punto, se completa un marco DLL básico. Ahora puede completar las funciones encapsuladas requeridas según sus propias necesidades.
6. Crea una nueva función de prueba.
Pegue las siguientes dos funciones de prueba en el módulo de clase Demo.
Copie el código de código de la siguiente manera:
Sub público hola()
Response.Write ("¡Hola mundo!")
Salir Sub
Subtítulo final
7. Compile y genere DLL
Archivo-->Generar ASP2DLL.dll-->Seleccione la carpeta donde se encuentra el proyecto y confirme, Aceptar. Si no hay ningún mensaje de error en este punto, demuestra que el componente dll se ha compilado correctamente.
8. Registrar y desinstalar componentes.
Creado en el directorio donde se encuentra el componente ASP2DLL.dll
Archivo por lotes "Registration.bat", ingrese:
Copie el código de código de la siguiente manera:
reinicio/parada
regsvr32/sASP2DLL.dll
reinicio/inicio
Archivo por lotes "Uninstall.bat", ingrese:
Copie el código de código de la siguiente manera:
reinicio/parada
regsvr32 /u /sASP2DLL.dll
reinicio/inicio
Haga doble clic para ejecutar registro.bat. Si el registro se realiza correctamente, aparecerá el mensaje: "DllRegisterServer en ASP2DLL.dll se realizó correctamente".
9. Llame a los componentes DLL recién encapsulados y pruebe las funciones en el programa ASP.
En el paso 2, sabemos que "cuando el componente DLL está registrado en el sistema, el método de llamada predeterminado en asp es 'nombre del proyecto. nombre de clase'", por lo tanto, el objeto debe crearse así: set Obj = Server.CreateObject ("Nombre del proyecto. Nombre de la clase"), el código es el siguiente:
Copie el código de código de la siguiente manera:
<%
DimASP2DLL
Establecer ASP2DLL = Server.CreateObject ("ASP2DLL.Demo")
ASP2DLL.hola()
SetASP2DLL = Nada
%>
10. Enlace de descarga del paquete que incluye archivos del proyecto y todo el contenido relacionado (enlace de descarga de la actualización 20110221) Descarga del paquete
Varios puntos a tener en cuenta al compilar una DLL:
1. Evite el uso de palabras clave reservadas de VB como nombres de funciones o variables;
2. Las funciones regulares y algunas de Vbscript, como Eval, deben cargar "Proyecto-->Referencia-->Microsoft Script Control 1.0" y "Microsoft VBScript Regular Expressions 5.5";
3. La encapsulación no puede lograr una mejora esencial de la velocidad, y los hosts virtuales y servidores remotos necesitan permisos de registro de componentes;
4. Para nombres de componentes existentes o archivos dll modificados, primero debe detener IIS y luego reiniciar IIS para registrar el componente dll;
5. Enlace de descarga de la versión verde simplificada de VB6 SP6
Texto original de:?cateID=20 Gracias al autor por su arduo trabajo. El material es excelente, pero el acceso al sitio web es demasiado lento.