On Wed, 15 Dec 2004 19:35:07 +0100, Wolfgang Lenerz <[EMAIL PROTECTED]> wrote:

Yes, the problem with pipes is that not every system has the named pipes of
SMSQ/E.


Just a quick pointer.
I had the same problem for the Proforma filter - how do I pass the PCP the
pipe in a Qdos system.


The way I did this was to
1 - open the pipe
2 - get the channel ID of the pipe
(all of this is done withing the PFF device, so MC code, so pretty easy.

3 "add" the channel ID to the pipe name.(length of name 8, 'pipexxxx')

4 - Pass that name AS A STRING to the job.

5 - Write the extention OPIPE.
This take the pipexxxx name, remakes the xxxx part back into a channel ID,
uses that to open the pipe for input, makes an entry in the basic channel
table and returns an Sbasic channel number


eg chan%=opipe('pipexxxx')
then use chan as normal channel number.

This can be found as part of the PFF extensions.

All you need to to is the inverse function (called, for example, "pipename",)
eg
open#4,pipe : rem open pipe for output
name$=pipename(#4)
this would return the name pipexxxx for the pipe.



Now THAT is an interesting idea....
No need for the pipename function really as TURBO has a command to return the channelID for a given channel :-)


It would however need slight amendment to allow a return pipe to be open as well.
Both would have to be opened by the main task and it would pass both channel ID numbers to the daughter job, maybe by adding an exta symbol in the passed string to differentiate between the two IDs.
We would of course, also need an ipipe function which would open the pipe for output within the daughter job.


Interesting and probably the only solution !!

--
Rich Mellor
RWAP Services
26 Oak Road, Shelfield, Walsall, West Midlands WS4 1RQ

http://www.rwapservices.co.uk/

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to