[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared
Dave Froble
davef at tsoft-inc.com
Sun Jun 9 10:43:55 EDT 2019
On 6/9/2019 7:28 AM, Neil Rieck wrote:
> 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)
Oh, no, I've been exposed! I was posing as a "professional programmer"
when I guess I'm really not a "professional programmer".
I guess when one programs in a language that forces variable
definitions, then one might feel that it's a "good practice".
Interesting that so many in c.o.v express their way as being the only way.
> 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:
But, yes, I now understand that it's not a problem with the 8 bytes of
data, it's a problem with the compiler thinking that it's the wrong type
of data.
--
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
More information about the Info-vax
mailing list