Active CGI

Leserbewertung(0):bewerten...
kommentieren...
Markus Zierhut zierhut-networks.de
Jetzt downloaden Freespace.zip, activescgi_spl.zip


Dieser und die nächsten Artikel sollen Ihnen die Funktionen und den Umgang mit der Funktionsbibliothek ActiveCGI zeigen. Damit sollte es Ihnen möglich sein, Anwendungen für das Internet zu entwickeln, die sich auf die CGI-Schnittstelle (Common Gateway Interface) stützen. Um alles nachvollziehen zu können benötigen Sie die Datei ActiveCGI.zip, die sie sich kostenlos von unserem Server downloaden können.

Inbetriebnahme

Um mit der DLL (Dynamic Link Library) arbeiten zu können, müssen Sie das ZIP-Archiv ent- packen. Am besten eignet sich dazu das Programm WinZip, das den Vorgang visuell darstellt. Nachdem die Dateien entpackt sind, lesen Sie sich bitte die Datei readme.txt durch, in der Sie die aktuellsten Informationen über das Tool finden. Nachdem Sie diese Datei gelesen haben, müssen Sie die DLL mit Hilfe der Datei regsvr32.exe als OLE-Server registrieren. Diese Datei finden Sie im Windows\System- Verzeichnis, wenn Sie ein Microsoft- Programmiersystem installiert haben. Befindet sich auch die Datei ActiveCGI.dll im Windows\System-Verzeichnis (empfehlenswert), starten Sie die MS-DOS-Eingabeaufforderung und wechseln danach in das Windows\System- Verzeichnis. Geben Sie nun folgendes ein: regsvr32.exe ActiveCGI.dll

Danach sollte die Datei ordnungsmäßig installiert sein und damit auch einsatzbereit. Dies können Sie überprüfen, indem Sie Visual Basic starten und darin den Menüpunkt Projekt - Verweise auswählen. Es öffnet sich nachfolgendes Dialogfeld:

Sollte die Bibliothek ordnungsgemäß installiert sein, finden Sie einen Eintrag mit dem Namen ActiveCGI, den Sie markieren. Nachdem Sie das Dialogfeld über die OK-Schaltfläche wieder verlassen haben, ist die DLL in Ihr Programm eingebunden. Sie können jetzt die Funktionen und Prozeduren der DLL benutzen.

Beispiel

Wie Sie ein erstes kleines Programm mit der DLL schreiben, zeigen wir nachfolgend am Beispiel einer Gästebuch-Anwendung . Das Beispielprogramm activescgi_spl.zip können Sie natürlich herunterladen.

Einrichtung

Nachdem Sie das Beispielprogramm geladen haben, entpacken Sie das ZIP-Archiv in ein Verzeichnis, das von einem Windows-Webserver mit Schreib- und Lesezugriff freigegeben ist. Anschließend können Sie das Beispiel bereits testen, indem Sie Ihren Webserver starten, den Browser laden und in die Addresszeile die Adresse des Gästebuchs eingeben. Falls das Gästebuch nicht funktioniert, ist ein Fehler aufgetreten. Sollten Sie Hilfe bei der Einrichtung benötigen, schreiben Sie uns eine eMail.

Programmierung

Jetzt aber endlich zur Programmierung des Gästebuchs. Zuerst legen Sie ein neues Projekt an. Dann binden Sie ActiveCGI wie oben gezeigt ein. Nun können Sie bereits beginnen, Quelltext zu schreiben. Zunächst werden im (Allgemein)-Teil des Moduls, dass Sie gegen die Form ausgetauscht haben, zwei (Objekt-)Variablen deklariert:

'ActiveCGI-Objekt
Dim CGI As Object
Dim Environment As Object

Nun werden diese beiden Objekte in der Startprozedur Sub Main mit den Objekten CGI und Environment aus der Bibliothek ActiveCGI initialisiert. Das Objekt CGI dient zur Verarbeitung von CGI-Funktionen und das Objekt Environment stellt die Umgebungsvariablen des Servers bereit. Bevor nun ausgewertet werden kann, welche Aktion angefordert wurde, muss zuerst das Objekt CGI initialisiert werden. Dies geschieht durch den Aufruf von

'ActiveCGI-Objekt
Dim CGI As Objekt
Dim Environment As Object

Dieser bewirkt, dass das Objekt die übermittelten Daten richtig einliest und diese zur weiteren Verarbeitung bereitstehen. Als nächstes muss die Anfrage des Benutzers weiter verarbeitet werden, was mit folgendem Code geschieht:

'Anforderungsmethode
Select Case UCase(Environment.RequestMethod)
'GET
Case "GET"
'QueryString = "Entry"?
If LCase(Environment.QueryString) = "entry" Then
'Seite zum Eintragen
Call Site
Else
'Gästebuch anzeigen
Call Show
End If
'POST
Case "POST"
'Eintrag vornehmen
Call Entry
'Gästebuch anzeigen
Call Show
End Select

Durch die Abfrage der Eigenschaft Enivronment.RequestMethod bekommt man die Anforderungsart zurückgeliefert. Dies ist bei einem einfachen Aufruf durch die direkte Adresse per Browser fast immer GET und bei der Übermittlung eines Formulars fast immer POST. Ist dies hier GET, wird entweder das Gästebuch angezeigt, oder das Formular zum Eintragen zurückgeliefert. Ist es aber POST, was hier auf einen Eintrag ins Gästebuch hindeutet, werden die Eingaben gespeichert und anschließend das Gästebuch angezeigt. Auf die weiteren Prozeduren soll nicht näher eingegangen werden, da hier keine wichtigen Details liegen. Es sei lediglich noch gesagt, dass Sie mit der Anweisung

Variable = CGI.Paramter("Feldname")

den Wert eines übermittelten Feldes auslesen können. Wenn Sie eine Ausgabe zurück an den Web-Browser machen wollen, steht Ihnen der Befehl

CGI.Send Ausgabe

zur Verfügung.

Ausblick

Demnächst finden Sie hier die Beschreibung aller Objekte, Methoden und Eigenschaften. Haben Sie noch irgendwelche Fragen zu diesem Artikel, so schreiben Sie uns einfach eine E-Mail