[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared
Neil Rieck
n.rieck at sympatico.ca
Sun Jun 9 07:28:19 EDT 2019
On Saturday, June 8, 2019 at 11:16:47 PM UTC-4, Dave Froble wrote:
>
> I guess where I'm confused is what is the difference between a RECORD
> structure that is basically 8 bytes, regardless of the makeup, and the
> BASIC QUAD variable definition. I'm assuming there is a difference,
> since the reported problem exists. But what is that difference, and, WHY?
>
> If declaring a variable, and passing it by ref, then what I'd expect is
> simply the address of the 8 bytes. What am I missing?
>
> --
> David Froble Tel: 724-529-0450
> Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
> DFE Ultralights, Inc.
> 170 Grimplin Road
> Vanderbilt, PA 15486
IIRC (I am not at work), QUAD is an signed variable while BASIC$QUADWORD is unsigned. If you begin every VMS-BASIC program with "option type=explicit" (and every professional programmer would) then the compiler will not let you substitute one for the other even though both occupy 64-bits. So if you find yourself needing to covert between the two, use a variant record as seen here:
http://neilrieck.net/demo_vms_html/wcsm_tcp_support_109_inc.html
Neil Rieck
Waterloo, Ontario, Canada.
More information about the Info-vax
mailing list