Ausgehend von dieser Codezeile möchte ich mal was fragen:
Code: Alles auswählen
server=OpenNetworkConnection(InputRequester("Ziel", "IP, Hostnamen oder Domain eingeben:", ""), Val(InputRequester("Port", "An welchen Port ein Server aufmachen?", "")))
Warum ist das so?
Ich bin auf das Problem gestoßen, als ich mich das erste mal mit CreatePack() und Co. von PB beschäftigt habe. Ich habe in Googles Cache folgendes gefunden:
http://66.249.93.104/search?q=cache:xtx ... =clnk&cd=2gimbly hat geschrieben:Habe gerade den merkwürdigen Effekt festgestellt, dassoft nicht funktioniert, manchmal aber schon(?).Code: Alles auswählen
WriteData(NextPackFile(),PackFileSize())
Dagegen funktioniert folgendes immer:
Ist also die bessere Alternative.Code: Alles auswählen
file=NextPackFile() WriteData(file,PackFileSize())
OK, deswegen habe ich mir fast umsonst meine Haare vor Wut vom Kopf gerissen

Warum geht das obige Beispiel nicht? Nun, PackFileSize() liefert die Dateigröße der Datei, die NextPackFile() zurückgibt. Da PB aber anscheinend alle Parameter von hinten "aufdröselt" kann das obere Beispiel nicht funktionieren, sondern erst das zweite. Denn da wird ja erst NextPackFile() aufgerufen, sodass die zweite Funktion problemlos die Größe zurückgeben kann.
Ist das bei anderen Befehlen oder gar allen Befeheln genauso? Wie oben gezeigt, habe ich das bisher bei OpenNetworkconnection() festgestellt.
Arbeite PB bei If auch von rechts nach links? Wenn ja (oder auch nein), was ist, wenn ich, wenn's klappt, erst eine Datei erstellen will und dann die Datein reinschreiben will? geht dann
Code: Alles auswählen
If CreateFile(1, "C:\MyDatei.txt") And WriteData(*buffer, 4097)
Mit dieser "Tatsache" will ich niemanden anprangern, ich möcht' das "Phänomäen" einfach nur lüften...