[Date Prev][Date Next][Subject Prev][Subject Next][Date Index][Subject Index]
- Subject: Re: VA|01
- From: cld@xxxxxxxxxx (Carl Distefano)
- Date: Mon, 11 Nov 2002 13:22:33 -0500
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.