Mit der neuen WebClass-Technologie können Sie ganz einfach flexible und leistungsstarke internetbasierte Anwendungen erstellen. Anfang des Jahres haben wir Ihnen gezeigt, wie Sie eine Registrierungsanwendung schreiben, mit der Benutzer Ihre Seite besuchen und sich für ein Softwareprodukt registrieren können „Benutzerregistrierungsklasse“, VBPJ April 1998 und „Fügen Sie E-Mail-Registrierung zu Ihrem Server hinzu“, VBPJ Mai 1998]. Nach der Registrierung sendet die Anwendung eine Sequenz per E-Mail-Nummer an den Benutzer und es besteht eine Verbindung zum Web Um den Registrierungsprozess fortzusetzen, hat die VB5-Anwendung eine ActiveX-DLL erstellt, die auf dem Webserver ausgeführt wird, und eine DLL, die das entsprechende ASP-Skript aufruft ein neues Mittel zum Schreiben dieser Art von Anwendung unter Verwendung einer neuen Technologie – WebClass.
Kurz gesagt, WebClass ist ActiveX, das auf der Webserver-DLL ausgeführt wird. Es ermöglicht den Hyperlink der HTML-Seite im Browser des Clients, um Ereignisse in der Server-DLL zu aktivieren. Der Programmiermodus von WebClass ähnelt dem herkömmlichen VB-Modus – der Unterschied besteht darin, dass in VB das Formular Steuerelemente enthält, während die WebClass-Anwendung das Programm eine Webseite ist, die Steuerelemente enthält vollständiges VB-Ereignismodell, damit eine hochgradig interaktive Webentwicklung durchgeführt werden kann, um Ihnen zu zeigen, wie einfach dies ist.
Um eine einfache WebClass-Anwendung zu erstellen, sollten Sie VB6 starten und auswählen Geben Sie im Dialogfeld „Neues Projekt“ den Namen „SimpleReg“ ein. Doppelklicken Sie im Browser auf das Projekt „WebClass Designer“. Benennen Sie die WebClass „wcSimple“ und geben Sie „SimpleReg“ in die Eigenschaft „NameURL“ ein. Beim Kompilieren der ActiveX-DLL wird eine Startdatei mit dem Namen „SimpleReg.asp“ erstellt.
Eine WebClass-Anwendung zeigt HTML im Browser des Benutzers an, indem sie eine HTML-Vorlage verwendet. Da VB6 keinen HTML-Editor enthält, müssen Sie eine HTML-Vorlage außerhalb von VB6 erstellen (der DHTML-Designer von VB6 hat überhaupt nichts mit WebClass zu tun). Jeder HTML-Editor, aber da Visual Studio Visual InterDev (VID) 6.0 enthält, ist VID eine vernünftige Wahl.
Legen Sie Visual Studio als Standard-HTML-Editor für Visual Basic im Menü Extras|Optionen von VB6 fest Folgen Sie dem Visual InterDev-Pfad - C:Promram FilesMicrosoft Visual StudioCommonIDE|IDE98Devenv.exe in das externe HTML-Bearbeitungsfeld. Sie benachrichtigen Visual InterDev, eine Vorlagendatei für Ihr Projekt zu erstellen. Beispiel: Wenn Ihre Vorlage heißt WebPage.htm, dann erstellt InterDev eine Kopie mit dem Namen Web1Page.htm. Wenn Sie Notepad oder andere Editoren zum Erstellen Ihrer Vorlage verwenden, berücksichtigen Sie dies bitte.
Im Routinecode ist die Datei SimpleReg.htm eine von Visual erstellte Vorlage InterDev. Wählen Sie im linken Bereich des WebClass-Designers den Ordner „HTML Template WebItem“ aus. Sie können die SimpleReg-Vorlage wie folgt zum Projekt hinzufügen: Klicken Sie auf die Schaltfläche „AddHTML Template WebItem“ und klicken Sie im Dateiauswahldialog auf „SimpleReg.htm-Datei auswählen“. Feld (siehe Abbildung 1). Doppelklicken Sie auf tplSimple, um den WebClass_Start-Prozess anzuzeigen, und ersetzen Sie den ursprünglich generierten Code, um die Vorlage beim Laden von WebClass anzuzeigen:
Private Sub WebClass_Start( )
'Zeigen Sie die Haupt-HTML-Vorlage www.downcodes.com
Session("Titel") = "Geben Sie Ihre" und "Registrierungsinformationen" ein
tplSimple.WriteTemplate
End Sub
WebClass_Start-Prozess ähnelt dem Form_Load-Prozess einer herkömmlichen VB-Anwendung. Führen Sie das Programm aus und beobachten Sie die von Ihrem Browser angezeigte HTML-Seite. (Dies ist ein normales Herunterfahren während des Debuggens und der Entwicklung.
Klicken Sie imWebClass
-Designer mit der rechten Maustaste auf das tplSimple-WebItem und wählen Sie im Kontextmenü die Option „HTML-Vorlage bearbeiten“. Wenn Sie den Quellcode lesen, können Sie Folgendes sehen: Seite bestehend aus drei speziellen Teilen, sogenannten Tags, im folgenden Format:
< WC@TAGTITLE>Titel</WC@TAGTITLE >
Der Textteil dieser Tags („Titel“) wird von Ihnen zur Laufzeit geändert. Der zu WebClass hinzugefügte Code wird ersetzt Wenn die WriteTemplate-Methode ausgeführt wird, ruft sie für jedes in der HTML-Vorlage gefundene Tag einmal einen Doppelklick auf tplSimple WebItem auf. Wählen Sie im Codefenster den Prozess tpSimple_ProcessTag aus oberes Kombinationsfeld und fügen Sie den folgenden Code hinzu:
Dim sHTM As String
Wählen Sie Fall-Tag-Name aus
Fall „ WC@TAGTITLE “
TagContents =Session("Titel")
Fall „ WC@TAGMAIL “
sHTM = „E-Mail-Adresse eingeben:<br>“
sHTM = sHTM & "<input type= 'text'"
sHTM = sHTM & " name= 'Email'><br>"
TagContents = sHTM
Fall „ WC@TAGNAME “
sHTM = "Name:<br>"
sHTM = sHTM & "<input type= 'text'"
sHTM = sHTM & " name= 'Name'><br>"
TagContents = sHTM
End Select
gibt den HTML-Code im TagContent-Parameter zurück, um das Tag zu ersetzen. Fügen Sie WriteTemple zur WebClass_Start-Prozedur hinzu und führen Sie am Haltepunkt die Reihenfolge der Ereignisse aus. Sie werden sehen, dass die ProcessTag-Prozedur dreimal aufgerufen wird – einmal für jedes Tag in der Vorlage. Das wirklich Coole ist: Zur Laufzeit verwendet die Prozedur HTML, das ein Textfeld im Browser generiert
Die Möglichkeit,
Ihren serverseitigen Ereigniscode interaktiv zu debuggen, ist eine der sehr leistungsstarken Funktionen bei der Entwicklung von WebClass-Anwendungen. Bei der VB5-Webentwicklung ist VBScript eine Menge Arbeit
interaktiv in ASP-Skripten – der einzig mögliche Weg ist leider Fehler und versuchen Sie es erneut. In VB6 wird jedoch der gesamteserverseitige
Code in WebClass ausgeführt und Sie können die hervorragende Designumgebung von VB für das interaktive Debuggen verwenden.
Der nächste Schritt in dieser einfachen Anwendung ist das Hinzufügen von Ereignisbehandlungscode für die Schaltfläche „Registrieren“ im Formular. Kehren Sie zum WebClass-Designer von VB zurück und klicken Sie auf „tplSimple WebItem“. Im rechten Bereich wird eine Liste der HTML-Mitglieder auf der Seite angezeigt, mit denen Sie Ereignisse verknüpfen können Klicken Sie mit der rechten Maustaste auf das Tag „Form1“ und wählen Sie den Menüpunkt „Mit benutzerdefiniertem Ereignis verbinden“ aus. Beachten Sie, dass in der Spalte „Ziel“ ein kurzer Blick auf die HTML-Vorlage erfolgt (klicken Sie mit der rechten Maustaste auf „tplSimple“ und wählen Sie „HTML-Vorlage bearbeiten“). . Finden Sie die Mitglieder des Formulars:
<FORM method = 'post' action = SimpleReg.ASP?
&WCE=RegisterMe&WCU>
SimpleReg.asp ist ein spezielles ActiveXDLL-Startskript. Der Wert nach dem Fragezeichen zeigt an, dass WebClass Item (WCI) tplSimple, WebClass Event (WCE) RegisterMe und WebClass URLData (WCU) leer ist Wenn der Benutzer im Browser auf die Schaltfläche „Registrieren“ klickt, aktiviert diese Zeile die Schaltfläche „tplSimple_RegisterMe“ in der ActiveX-Server-DLL. Auf diese Weise ist die Aktivität des Formulars an das serverseitige Ereignis gebunden, Sie können jedoch einen Hyperlink festlegen im Browser, um Ereignisse auf dem Server zu aktivieren. Sie erweitern die ereignisgesteuerte Programmierung von VB auf browserbasierte Anwendungen.
Doppelklicken Sie auf das RegisterMe-Ereignis im linken Bereich des VB Designers, um den Code anzuzeigen Fenster. Fügen Sie dem Ereignis den folgenden Code hinzu:
If Len(Request.Form("Email")) = 0 Then
Session("Titile") = "Bitte" & "Geben Sie eine E-Mail-Adresse ein!"
Session("Email") = ""
Sitzung("Name") = ""
Anders
Session("Titel") = "Hier ist" & "Ihr Eintrag!"
Session("Email") = Request.Form("Email")
Session("Name") = Reuquest.Form("Name")
Ende wenn
TplSimple.WriteTemplate
Request.Form ist eine Standardmethode zum Zurückgeben von Daten von einer Browserseite. Es legt einige Sitzungsvariablen fest und zeigt dieselbe HTML-Seite erneut an. Geben Sie eine E-Mail-Adresse und einen Namen ein Sie werden sehen, dass der Titel aktualisiert wurde, das Textfeld jedoch leer ist. Dies liegt daran, dass Sie beim Schreiben der Vorlage nicht die entsprechenden Werte eingegeben haben Prozess (Laden Sie Listing 1 von DevX herunter; Einzelheiten finden Sie im Feld „Kostenlosen Code herunterladen“). Führen Sie das Projekt aus und sehen Sie,
was
passiert Um die Summe aus der Datenbank zu speichern, verwenden wir der Einfachheit halber eine neue Datenbank mit Acess in Ihrem Quellverzeichnis und fügen Sie eine Tabelle mit zwei Feldern hinzu , E-Mail und Name, und speichern Sie sie auf der Festplatte, wenn Acess Sie auffordert, ein eindeutiges Indexfeld zu erstellen, und platzieren Sie eine Kopie von Register.mdb im Stammverzeichnis Ihres C-
Laufwerks Referenzen zur Datenobjektbibliothek finden Sie unter Projekt|Referenz... Sie können die ADO-Bibliothek Version 1.5 oder 2.0 verwenden. Wenn Sie die ADO-Bibliothek nicht installiert haben, können Sie sie von der Website von Microsoft herunterladen: http:/ /www.microsoft.com/data Laden Sie das MDAC2.0-Installations-Toolkit von /ado herunter. Ändern Sie den Code im tplSimple.RegisterMe-Prozess (Laden Sie Listing 2 von DevX herunter; Einzelheiten finden Sie im Feld „Kostenlosen Code herunterladen“
)
Geben Sie
im Formular die Variable „Session“ ein und suchen Sie nach der E-Mail-Adresse (Listing 3 von DevX herunterladen).
Die Funktion legt die Verbindungszeichenfolge fest:
private Function Connect() As String
'Gibt eine ADO-Verbindungszeichenfolge zurück
Const kDB = "DBQ=c:register.mdb;"
Const kDrv = „Drive={Microsoft“ & „Acess Driver (*.mdb)}“
Verbinden = kDB & kDrv
Endfunktion
Setzen Sie einen Haltepunkt in tplSimple_RegisterMe, führen Sie das Programm aus und sehen Sie, wie der Datenzugriffscode funktioniert. Dieses einfache Beispiel zeigt Ihnen, wie einfach die Programmierung in Ihrem Unternehmen ist. Jede „echte“ Anwendung sollte eine Fehlerbehandlung beinhalten. Im Allgemeinen verwenden Sie die Registrierung auch zum Speichern von Variablen wie Verbindungszeichenfolgeninformationen und müssen eine Möglichkeit bereitstellen, Datensätze zu aktualisieren und unnötige Datensätze zu löschen.
Beim Kompilieren des Projekts passieren zwei Dinge: z Bei jedem ActiveX-Projekt in VB wird auf dem Entwicklungscomputer ein ActiveX-DLL-Datensatz generiert. Die zweite Sache ist: Die spezielle ASP-Startdatei wird mit dem Namen generiert, der im Beispiel mit dem Namen angegeben wird Die Datei lautet: SimpleReg.asp. Sehen Sie sich das Skript im Editor an. Wenn der Benutzer die URL der Datei in den Browser eingibt, erstellt IIS eine Instanz von SimpleReg.wcSimple WebClass
Unterallen Umständen
ähnelt die Registrierung der WebClass-Version der Anwendung der im Mai 1998 gezeigten Serie. Der Code für diese Serie ähnelt tatsächlich der zuvor gezeigten Serie, außer dass jetzt der gesamte Code in der enthalten ist WebClass und die gestartete ASP-Datei enthalten keine Benutzerinformationen.
Beim
Vergleich der Anwendung vor und nach sollten Sie ein einheitliches Verständnis davon haben, wie WebClass funktioniert. Möglicherweise zögern Sie jedoch immer noch, Ihre Webanwendung sofort in eine WebClass umzuwandeln Das Konvertieren einer Anwendung nimmt viel Zeit in Anspruch, aber Sie sollten dies tun, da dies echte Vorteile bietet: Mit WebClass können Sie Anwendungen auf eine Weise erstellen oder erweitern, die zuvor nicht möglich
war Eine Reihe von Tools zum Entwickeln von Internetanwendungen. Natürlich sind auch Webanwendungen möglich, aber Sie müssen viele kleine Programmiertricks anwenden, damit das ASP-Skript korrekt mit der VB-DLL interagiert Dank VBScript mangelt es nicht an einer echten ereignisgesteuerten Programmierumgebung. WebClass bietet volle Funktionalität für die Webentwicklung – und das ist eine gute Sache.