[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