Da in letzter Zeit viele Internetnutzer gefragt haben, werde ich es einfach klären. Wenn Sie Fragen haben, können Sie diese in den Kommentaren hinterlassen.
1. Erstellen Sie eine neue DLL
Öffnen Sie VB6 -> Datei -> Neues Projekt -> ActiveX-DLL auswählen -> OK
2. Benennen Sie das Standardprojekt und die Standardklasse um
Projekt umbenennen: Projekt -> Eigenschaften von Projekt 1 (dieser Name entspricht dem Projektnamen im Formular) -> Benennen Sie den „Projektnamen“ im geöffneten Dialogfeld in ASP2DLL um (nachdem die DLL-Komponente im System registriert wurde). Die Standardaufrufmethode in ASP ist „Projektname.Klassenname“) -> OK
Klasse umbenennen. Benennen Sie den Namen im Eigenschaftenfenster in „Demo“ um
3. Definieren Sie ASP-Basisobjekte
Modul hinzufügen: Projekt -> Modul hinzufügen -> "Modul" auswählen -> Öffnen
Benennen Sie das Modul um: Projekt-Explorer-->Module--Module1-->Modul1 im Eigenschaftenfenster in „ASPMod“ umbenennen
Fügen Sie den Modulcode hinzu. Dieser Code ist auf fast alle in vb gekapselten ASP2DLL-Komponenten anwendbar, oder halten Sie ihn beim Aufrufen konsistent.
Kopieren Sie den Codecode wie folgt:
Öffentlicher objContext als ObjectContext
Öffentliche Anwendung als ASPTypeLibrary.Application
Öffentlicher Server als ASPTypeLibrary.Server
Öffentliche Sitzung als ASPTypeLibrary.Session
Öffentliche Antwort als ASPTypeLibrary.Response
Öffentliche Anfrage als ASPTypeLibrary.Request
Öffentliches Sub ASP2DLL_Initialize()
Bei Fehler Weiter fortsetzen
Setze objContext = GetObjectContext
Setze Application = objContext.Item("Application")
Setze Server = objContext.Item("Server")
Set Session = objContext.Item("Session")
Set Request = objContext.Item("Request")
Set Response = objContext.Item("Response")
Sub beenden
Öffentliches Sub ASP2DLL_Terminate()
Bei Fehler Weiter fortsetzen
Legen Sie „Anwendung“ = „Nichts“ fest
Setze Server = Nichts
Sitzung = Nichts festlegen
Anforderung festlegen = Nichts
Antwort festlegen = Nichts
Setze objContext = Nothing
Sub beenden
Öffentliche Funktionsauswertung (ByRef strEval)
Dimmen Sie EvalObject als neues ScriptControl
EvalObject.Language = "VBScript"
Eval = EvalObject.Eval(strEval)
Setzen Sie EvalObject = Nothing
Funktion beenden
4. Speichern Sie die neu erstellte DLL
Datei -> Projekt speichern, vollständig bestätigen und alle Module, Klassenmodule und Projektdateien in einem Ordner speichern
5. Rufen Sie ASP-Objekte in Klassenmodulen auf
Projekt-Explorer -> Klassenmodul -> Doppelklicken Sie auf Demo, um zum Code-Editor des Demo-Klassenmoduls zu wechseln, fügen Sie den Code ein, initialisieren Sie den Klassenaufruf und die Klassenzerstörung. Der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
Private Sub Class_Initialize()
ASP2DLL_Initialize
Sub beenden
Private Sub Class_Terminate()
ASP2DLL_Terminate
Sub beenden
Zu diesem Zeitpunkt ist ein grundlegendes DLL-Framework fertiggestellt. Jetzt können Sie die erforderlichen gekapselten Funktionen entsprechend Ihren eigenen Anforderungen ausführen.
6. Erstellen Sie eine neue Testfunktion
Fügen Sie die folgenden zwei Testfunktionen unter dem Demo-Klassenmodul ein.
Kopieren Sie den Codecode wie folgt:
Öffentliches Sub hallo()
Response.Write („Hallo Welt!“)
Sub verlassen
Sub beenden
7. Kompilieren und generieren Sie die DLL
Datei -> ASP2DLL.dll generieren -> Wählen Sie den Ordner aus, in dem sich das Projekt befindet, und bestätigen Sie mit OK. Wenn zu diesem Zeitpunkt keine Fehlermeldung angezeigt wird, ist dies ein Beweis dafür, dass die DLL-Komponente erfolgreich kompiliert wurde.
8. Registrieren und deinstallieren Sie Komponenten
Erstellt in dem Verzeichnis, in dem sich die ASP2DLL.dll-Komponente befindet
Geben Sie in der Batchdatei „Registration.bat“ Folgendes ein:
Kopieren Sie den Codecode wie folgt:
iisreset/stopp
regsvr32/sASP2DLL.dll
iisreset/start
Geben Sie in der Batchdatei „Uninstall.bat“ Folgendes ein:
Kopieren Sie den Codecode wie folgt:
iisreset/stopp
regsvr32 /u /sASP2DLL.dll
iisreset/start
Doppelklicken Sie, um die Datei „registration.bat“ auszuführen. Wenn die Registrierung erfolgreich ist, wird Folgendes angezeigt: „DllRegisterServer in ASP2DLL.dll ist erfolgreich.“
9. Rufen Sie die neu gekapselten DLL-Komponenten und Testfunktionen im ASP-Programm auf
In Schritt 2 wissen wir, dass „wenn die DLL-Komponente im System registriert ist, die Standardaufrufmethode in ASP ‚Projektname. Klassenname‘ ist“, daher sollte das Objekt wie folgt erstellt werden: set Obj = Server.CreateObject („Projektname. Klassenname“), der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
<%
DimASP2DLL
Setze ASP2DLL = Server.CreateObject("ASP2DLL.Demo")
ASP2DLL.hello()
SetASP2DLL = Nichts
%>
10. Paket-Download-Link einschließlich Projektdateien und aller zugehörigen Inhalte (20110221-Update-Download-Link) Paket-Download
Beim Kompilieren einer DLL sind einige Punkte zu beachten:
1. Vermeiden Sie die Verwendung reservierter VB-Schlüsselwörter als Funktions- oder Variablennamen.
2. Reguläre und einige Vbscript-Funktionen wie Eval müssen „Projekt -> Referenz -> Microsoft Script Control 1.0“ und „Microsoft VBScript Regular Expressions 5.5“ laden.
3. Die Kapselung kann keine wesentliche Geschwindigkeitsverbesserung bewirken, und virtuelle Hosts und Remote-Server benötigen Komponentenregistrierungsberechtigungen.
4. Für vorhandene Komponentennamen oder geänderte DLL-Dateien müssen Sie zuerst IIS stoppen und dann IIS neu starten, um die DLL-Komponente zu registrieren.
5. Download-Link für die optimierte grüne Version von VB6 SP6
Originaltext von:?cateID=20 Vielen Dank an den Autor für seine harte Arbeit. Das Zeug ist großartig, aber der Zugriff auf die Website ist zu langsam.