horni
08-09-11, 15:25
Hallo Forum,
ich bastel gerade an einer Socket Anbindung und hab eigentlich nur noch ein Problem mit der Blockungs Funktion.
Und das treibt mich gerade in den Wahnsinn......
Ich habe mich dabei ziemlich genau an das Tutorial von Scott Klement gehalten, weils für mich absolutes Neuland ist. Leider bekomme ich bei der Umwandlung des Programms immer den Fehler
"Prototypaufruf kann nicht in einem Ausdruck verwendet
werden, da er keinen Wert zurückgibt".
Definitionen:
D fcntl PR ExtProc('fcntl')
D SocketDesc 10I 0 Value
D Command 10I 0 Value
D Arg 10I 0 Value Options(*NOPASS)
D F_GETFL C CONST(6)
D F_SETFL C CONST(7)
D O_NONBLOCK C CONST(128)
D O_NDELAY C CONST(128)
D FNDELAY C CONST(128)
D flags S 10I 0
Die C-Funktion:
int fcntl (int descriptor, int command, ...);
und die Codierung:
* flags = fcntl(sock: F_GETFL);
flags = flags + O_NONBLOCK;
* if fcntl(sock: F_SETFL: flags) < 0;
msg = 'Blockungsfehler';
ENDIF;
Moniert werden immer die beiden Zeilen mit dem Sternchen davor.
Hat jemand eine Idee was ich hier falsch mache ???
Schon einmal Danke und Grüße
Markus
ich bastel gerade an einer Socket Anbindung und hab eigentlich nur noch ein Problem mit der Blockungs Funktion.
Und das treibt mich gerade in den Wahnsinn......
Ich habe mich dabei ziemlich genau an das Tutorial von Scott Klement gehalten, weils für mich absolutes Neuland ist. Leider bekomme ich bei der Umwandlung des Programms immer den Fehler
"Prototypaufruf kann nicht in einem Ausdruck verwendet
werden, da er keinen Wert zurückgibt".
Definitionen:
D fcntl PR ExtProc('fcntl')
D SocketDesc 10I 0 Value
D Command 10I 0 Value
D Arg 10I 0 Value Options(*NOPASS)
D F_GETFL C CONST(6)
D F_SETFL C CONST(7)
D O_NONBLOCK C CONST(128)
D O_NDELAY C CONST(128)
D FNDELAY C CONST(128)
D flags S 10I 0
Die C-Funktion:
int fcntl (int descriptor, int command, ...);
und die Codierung:
* flags = fcntl(sock: F_GETFL);
flags = flags + O_NONBLOCK;
* if fcntl(sock: F_SETFL: flags) < 0;
msg = 'Blockungsfehler';
ENDIF;
Moniert werden immer die beiden Zeilen mit dem Sternchen davor.
Hat jemand eine Idee was ich hier falsch mache ???
Schon einmal Danke und Grüße
Markus