On Wednesday 06 September 2006 16:53, Andrew Johnson wrote:
> Benjamin Franksen wrote:
> > can the record support special() routine find out how many (array)
> > elements have been resp. are going to be written (assuming SPC_MOD
> > is set for the field and there is actually more than one element
> > etc..)? And if yes, how?
>
> No, the arguments to the rset->special() routine are the DBADDR for
> the field that is being written to, and the pass (0 before, 1 after
> the actual put operation).
>
> However if there's more than one element in the buffer and the field
> is marked as special, immediately after calling rset->special() the
> rset->get_array_info() routine is called to get the offset value (for
> appending data to circular buffers), and after changing the array the
> rset->put_array_info() routine is also called to tell it how big the
> request was.
Ha, that was the kind of trick I was hoping for. Thanks a lot.
> Unfortunately this doesn't seem to provide any way to
> reject a put based on size if that's what you're trying to do.
No, fortunately that wasn't the goal, I just wanted to remember the
number of elements actually written, and do some special processing
based on that. I'll do this in method put_array_info, then, not in
special.
Thanks again,
Ben
--
You've never looked into my eyes but don't you want to know
What the dark and the wild and the different know -- Melissa Etheridge
- References:
- A question concerning rset->special() Benjamin Franksen
- Re: A question concerning rset->special() Andrew Johnson
- Navigate by Date:
- Prev:
Re: RE: Equipment Availability btanu
- Next:
Re: StripTool2_5_10_0 display of waveform records? Lawrence T. Hoff
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: A question concerning rset->special() Andrew Johnson
- Next:
Build failure under QNX 6.1 David Eisert
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|