SendNetworkString () in Procedure funktioniert nicht

Für allgemeine Fragen zur Programmierung mit PureBasic.
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

SendNetworkString () in Procedure funktioniert nicht

Beitrag von Vi-P »

Hi, einen einfachen Webserver aus dem Netz kopiert, ein wenig angepaßt alles o.k.. Aber damit ging das Problem los. Die wenigen Zeilen Code säuberlich auf Prozeduren aufgeteilt und in ein Programm integriert und nix geht mehr. >_< Wohl irgendeinen Fehler gemacht? Nach längerer Fehlersuche bin ich der Ansicht, daß der SendNetworkString (), sobald er innerhalb einer Prozedur aufgerufen wird nicht mehr korrekt funktioniert. Ausgangspunkt ist der "Atomic Web Server 0.2b". Man nehme einfach den Code und setze ihn in eine Prozedur (+Aufruf). Und schon antwortet das Programm nicht mehr. Purebasic 5.62x64. Ich wollte jetzt nicht alles mit Code überschwemmen, mache ich aber gerne auf Wunsch.

Hatte jemand schon so ein Problem? Kann doch fast nicht sein, daß ich der erste bin ...
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: SendNetworkString () in Procedure funktioniert nicht

Beitrag von Bisonte »

Wohl irgendeinen Fehler gemacht?
Davon ist auszugehen ;)

Allerdings ohne den Code zu sehen, ist nichts dazu zu sagen.
"Atomic Web Server 0.2b" ? Wo, wie, was :? Da wäre eine Quellenangabe nützlich...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: SendNetworkString () in Procedure funktioniert nicht

Beitrag von RSBasic »

Meinst du den Code im Ordner ...\PureBasic\Examples\Sources - Advanced\Atomic Web Server\Atomic Web Server.pb ?
Woher hast du die Version 0.2b? Der Code, der bei mir vorhanden ist, sagt v1.0.
Da der Code nicht allzu groß ist, kannst du ja gerne deinen angepassten Code hier posten. Es kann vielleicht sein, dass du EnableExplicit nicht verwendest und eine lokale Variable außerhalb deiner Prozedur definiert und initialisiert wird, die aber in deiner Prozedur ebenfalls benötigt wird.
Schreibe am Anfang deines Codes EnableExplicit, dann wirst du vermutlich eine Fehlermeldung bekommen, dass in deiner Prozedur eine bestimmte Variable nicht gefunden werden konnte und ich glaube, das ist dann auch der Fehler, den du hast.
Wie Bisonte bereits schrieb, kann man ohne Code nur raten.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

Re: SendNetworkString () in Procedure funktioniert nicht

Beitrag von Vi-P »

Vielen Danke für die schnelle Hilfe. Nach nochmaliger Durchsicht kam mir dann auch eine Vermutung. Man sollte halt nicht etwas kopieren und ändern, was man nicht zu 100% versteht. EOL$=chr(13)+chr(10) am Anfang des Programmes ist halt kein globales Makro, Konstante sondern eine schnöde Variable, ohne deren Inhalt, der über die Antwort verteilt ist, der Browser ziemlich beleidigt reagiert ... . (Ursache ich verwende immer die .s Notation, damit war ...$ für mich sozusagen ein don´t touch ...) Haben wir also wieder was gelernt.
:D
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: SendNetworkString () in Procedure funktioniert nicht

Beitrag von GPI »

Ersetzt das doch durch die Constante #crlf$ - oder soll EOL$ veränderbar sein?
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten