Le 30/10/2013 00:00, Benoît Minisini a écrit :
Le 29/10/2013 23:12, Tobias Boege a écrit :
On Fri, 25 Oct 2013, Beno?t Minisini wrote:
Le 24/10/2013 15:08, Tobias Boege a ?crit :
My workaround always was like this:

     ' Create the read pipe special file
     hGPstdout = Pipe "/tmp/gnuplotFIFO2" For Write
     Close #hGPstdout
     ' Create write end
     hGPpipe = Pipe "/tmp/gnuplotFIFO1" For Write
     ' Start writer
     hGPproc = Shell "gnuplot </tmp/gnuplotFIFO1 >/tmp/gnuplotFIFO2"
     ' Really create read end
     hGPstdout = Pipe "/tmp/gnuplotFIFO2" For Read Watch

Note that since the shell which starts hGPproc already opened
/tmp/gnuplotFIFO2, you won't have any deadlock problems when opening
hGPstdout For Read afterwards.

Anyway, if I

     Print #hGPpipe, "plot x^2"

only garbage (not non-sense but the string is always scrambled) seems to
arrive at gnuplot. Also, I seem to get output from gnuplot irregularly. So
I'm out of options for now. I remember that raising Read events for streams
has been subject to issues from time to time...

Regards,
Tobi


Please give details. I tried what you said (but "plot x*x" because"
"plot x^2" seems to not be the good syntax), and I always got the plot
as expected.


OK. The attached project gives the following output after I pressed
"Button1" four or five times:

---
Read             line 0: non-integer passed to boolean operator


Read
gnuplot> lot x^1
           ^
           line 0: invalid command


Read
gnuplot> pot x^1
           ^
           line 0:
Read    invalid command


Read
gnuplot> lotx^1
           ^
           line 0: invalid command


Read
gnuplot> plp plot x^1
           ^

Read    line 0: invalid command



---

You can see that in each message, one character is missing so that "plot" is
"lot" or "pot" or "lot" again. The missing characters "plp" appear in the
last message, totally mis-placed.

Am I maybe reading incorrectly from the pipe?

Regards,
Tobi


Spoke too fast. Now I have the same output as you (more or less)...


Try that. You must kill gnuplot explicitely. Otherwise by running the program several times, you get a lot of gnuplot processes all writing to the same pipes. So everything is mixed.

Otherwise, why using file pipes that way? Why not communicate directly with the input/output of the gnuplot process?

--
Benoît Minisini

Attachment: pipedoc-0.0.2.tar.gz
Description: application/gzip

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to