On 5 Oct 2004, at 14:37, Frank D. Engel, Jr. wrote:
Okay, so I got tired of waiting for RevDB to be fixed for PostgreSQL (or for some explanation of how to set it up, in case my drivers are not correctly positioned), so I am trying to write my own, Transcript-native PostgreSQL driver for Rev (with its own API, by means of a 'start using' command...) Never tried this before, but I did get the 'start using' to work.It could be that there is no data on the socket when you do the read. You could try replacing the "read from socket pg_sock for 5" with this:
I *think* I was able to get sockets working, too, but for some reason, at least under OS X, I cannot seem to read from a socket. What am I doing wrong here? I have the following handler in my code:
function pgFetchMessage
read from socket pg_sock for 5
put it into x
put (charToNum(char 2 of x) * 16777216) + (charToNum(char 3 of x) * 65536) + (charToNum(char 4 of x) * 256) + charToNum(char 5 of x) \
into l
read from socket pg_sock for l
put it into z
answer charToNum(the first char of x) titled (pg_sock) && (the length of x)
return (x & z)
end pgFetchMessage
The "answer" line results in the following title bar (empty message):
localhost:5432 0
Why would this happen? That "0" means that the length of string "x" (which should contain exactly five characters, right?) is zero. In other words, that string is empty -- but it shouldn't be!
put empty into x repeat while length(x) < 5 read from socket pg_sock for 5 - length(x) put it after x end repeat
Or, use the "with message" form of read, which I find to be more reliable, However, you'd have to change the structure of your handler a little.
Cheers Dave
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
