On Wed, 2013-10-30 at 00:46 +0100, Benoît Minisini wrote:
> 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?
> 


Woohoo! Now it's working properly.

Attached is a bit of gnuplot fun.

Attachment: pipedoc-0.0.3.tar.gz
Description: application/compressed-tar

------------------------------------------------------------------------------
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