[Date Prev][Date Next][Subject Prev][Subject Next][Date Index][Subject Index]

Re: VA|01

Reply to note from "B. Gillessen"  Mon, 11 Nov
2002 16:49:24 +0100

> What is "VA|01" about? It is contained in portable.int - but
> seems to cause an error message in my euroscript-version. My
> XPL documentation seems also not to treat it in any way.

It returns the byte length of the string in Save/Get 01.  It's a Xy4
addition (documented in "Signature: Making the Transition"), so if
"euroscript" is based on Xy3, it won't work, nor will any of the
other v4 XPL extensions, of which PORTABLE.INT uses quite a few. 
(Although it doesn't say so explicitly, PORTABLE.INT is for Xy4+
only.  I thought the references to SETTINGS.DFL, PP: tables and
XyWin made that clear.  Perhaps not.)

Why did Xy4 supply a new method to test for the size of a Save/Get
when Xy3 already had one (@SIZ())?  Because, @SIZ requires
, and  crashes the current routine if Save/Get 01 is
uninitialized (i.e., has not been used earlier in the program);
whereas  flags an uninitialized Save/Get by returning a value
of -1.  Thus, not only does VA| not crash, it provides, for the
first time, a "native", non-kludgy way to determine *whether* a
Save/Get has been initialized -- crucial in structured programming
(e.g., the Xy4 Menu+DiaLoG system and the Jumbo U2), where running
routines inherit Save/Get values (or the lack thereof) from "parent"
or "child" routines.  Suffice it to say that it was a very important
addition to XPL.

Carl Distefano