Turbo Pascal mit CGI ausführen |
arti85
Pixelschubser Threadstarter
Beiträge: 3 |
Hallo Leute!
Hab folgendes Problem: Ich muss für ein Infoprojekt mit Turbo Pascal ne HTML Seite generieren. Also in nem CGI Script soll der Code stehen und dann sagen wir mal soll mit
writeln('Hello World');
halt ne Seite angezeigt werden. Problem ist nur ich krieg den Server nicht dazu Turbo Pascal zu übersetzen. Wie das mit Perl geht weiß ich, aber wie ich das ganze auf TP umstelle hab ich nicht hinbekommen. Vielleicht könnt ihr mir ja helfen. Wär auf jedenfall dankbar für jede Antwort.
|
 Profil
Editieren
Zitieren
|
mike@localhost
Pixelschubser
Beiträge: 7 |
wenn du des script aufrufst wird dann der quellcode angezeigt?
---
I hacked 127.0.0.1 !!!
|
 Profil
Editieren
Zitieren
|
arti85
Pixelschubser Threadstarter
Beiträge: 3 |
Nein, es kommt die Fehlermeldung
"Die Anfrage kann nicht bearbeitet werden weil ein interner Serverfehler aufgetreten ist
Fehlermeldung
couldn't create child process: 720005: cgitest1.cgi
Error 500"
am script kanns nicht liegen weil vielmehr als
program ...
uses crt;
begin
writeln(' ... ');
end.
is es ja nicht. es fehlt mir so gesehen nur der eintrag wie ich dem server sage er muss das script mit TP interpretieren und dann an sich zurücksenden lassen. Hast du da ne Ahnung?
|
 Profil
Editieren
Zitieren
|
mike@localhost
Pixelschubser
Beiträge: 7 |
hast du PHP oder Perl/CGI installiert und den server dementsprechend konfiguriert?
dann könntest du mal probieren es so ähnlich zu machen kannst, weil mit TP kenn ich mich ned so gut aus...
---
I hacked 127.0.0.1 !!!
|
 Profil
Editieren
Zitieren
|
mike@localhost
Pixelschubser
Beiträge: 7 |
man kann den server auf 2 verschiedene arten konfigurieren:
- bei bestimmten dateiendungen (z.B. .cgi oder .php) wird ein interpreter aufgerufen
oder:
- bei allen scripten die in einem bestimmten verzeichnis liegen ( z.B. /cgi-bin/) wird der interpreter aufgerufen
---
I hacked 127.0.0.1 !!!
|
 Profil
Editieren
Zitieren
|
Herr_Zatacke
Otto-Normal-Poster
Beiträge: 90 |
Skipte...Skipte...
Ich hör immer nur Skipte und wunder mich dabei ...???
Pascal ist keine Skriptsprache... das muss vorher kompiliert werden. Und als ich vor zig Jahren auf Pascal Programmiert habe, kamen beim Komlilieren immer .exe-Dateien raus ...
Und Ich kann mir nicht vorstellen, dass unkompilierter Pascal-Quellcode irgendwie als Skript interpretiert werden kann ....
---
wer and'ren eine bratwurst brät, der hat ein bratwurstbratgerät...
|
 Profil
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
cgi muß keine scriptsprache sein. geht ja mit c++ auch
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
arti85
Pixelschubser Threadstarter
Beiträge: 3 |
also neuester stand der dinge: ^^
jetzt endlich weiß ich dass der TP-Quellcode kompiliert werden muss. Nun gut wusst ich vorher nicht, da ich von Perl her nur kannte dass man den Quellcode so in ne Datei schreibt und ab die Post.
Perl/CGI ist auf dem Server an und auch konfiguriert. Mit nen paar Perl-Scripten hab ich ja schon versucht ob alles klappt und wie gesagt funktioniert da auch alles.
Nun hab ich auch mal wieder Win98 drauf gemacht und schon kommt ein anderer Fehler ... jetzt heißt es nicht mehr "Could not create child process" sonder irgendwas mit program header... der Fehlercode 500 bleibt aber.
zur übersicht mein TP-Code:
program cgitest;
uses crt,dos;
begin
write('content-type: text/html');
writeln('Hallo Welt!');
end.
bei Win98 führt er das Programm auch aus allerdings wird keine neue HTML Seite generiert sondern die Ausgabe (also "content-type: text/html ") steht auf einmal in dem Dos-Fenster des Apacheservers :( - eigentlich müsste das ja der Quelltext der generierten HTML-Seite werden aber anscheinend kriegt er das mit dem Output nicht richtig hin. Weiß einer von euch da bescheid oder kennt das Problem??
|
 Profil
Editieren
Zitieren
|
Herr_Zatacke
Otto-Normal-Poster
Beiträge: 90 |
cgi muß keine scriptsprache sein. geht ja mit c++ auch |
Okay ... wusste ich nicht ... wieder was dazugelernt
steht auf einmal in dem Dos-Fenster des Apacheservers :( - eigentlich müsste das ja der Quelltext der generierten HTML-Seite werden aber anscheinend kriegt er das mit dem Output nicht richtig hin. Weiß einer von euch da bescheid oder kennt das Problem?? |
Naja ... immerhin wird dein pascal-code jetzt definitiv ausgeführt... das is doch schon was !!
wie's weitergeht -> keine ahnung ....
---
wer and'ren eine bratwurst brät, der hat ein bratwurstbratgerät...
Diese Nachricht wurde geändert von: Herr_Zatacke |
 Profil
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
naja perl gibt ja auch nicht automatisch alles im browserfenster fenster aus.
schätze mal du brauchst ne library für cgi oder so die dann die requests annimmt und die response ins html umleitet
sowas wie tpwcgi, nur das gibts ja sogut wie nirgendmehr.
warum verwendest auch so ne alte sprache für sowas neues?
---
We are born wet, naked and hungry, then things got worse!
Diese Nachricht wurde geändert von: NetDrag |
 Profil
Website
Editieren
Zitieren
|
mike@localhost
Pixelschubser
Beiträge: 7 |
ich glaub ich weiß warum der headerfehler kommt.
nach dem HTTP-Header muss eine leere Zeile stehen und dann kommt erst der HTTP-Body wo dann der html-code drinsteht.
probier mal:
1:
2: | writeln('Content-type: text/html');writeln;
writeln('...'); |
---
I hacked 127.0.0.1 !!!
Diese Nachricht wurde geändert von: mike@localhost |
 Profil
Editieren
Zitieren
|
mike@localhost
Pixelschubser
Beiträge: 7 |
hey arti85,
der "Could not create child process"-Fehler kommt bei mir immer wenn der Pfad zum Interpreter (bei Perl) falsch is...
---
I hacked 127.0.0.1 !!!
|
 Profil
Editieren
Zitieren
|
Mike1
Pixelschubser
Beiträge: 1 |
Hallo,
daß die Ausgabe nicht ankommt, konnte daran liegen, daß TP standardmäßig direkt ins Video-Ram schreibt! Abhilfe: DirectVideo := False;
Wie man aber an die CGI Environment-Variablen "query_string" und "path_info", die nicht mit "normalen" DOS Environment-Variablen, die man sieht, wenn man auf DOS-Ebene "set" eingibt, übereinstimmen, würde mich auch mal interessieren!
Mike
|
 Profil
Editieren
Zitieren
|