[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
Wed Jun 12 07:37:28 EDT 2019


On Sunday, June 9, 2019 at 10:07:17 PM UTC-4, Arne Vajhøj wrote:
> On 6/9/2019 10:43 AM, Dave Froble wrote:
> > 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?
> 
> Apparently Basic do think the two declarations are non-compatible
> in the context.
> 
> Can you assign them to each other?
> 
> If no then it sort of make sense that they are not interchangeable
> in a call either.
> 
> >> 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.
> 
> 25 years ago or so, then it was generally considered best practice.
> 
> Today many of the most popular languages are even less type strict
> than Basic. In some of them it is not even possible to define the type
> of a variable. Like DCL.
> 
> Arne

You can't "directly" assign them to each other. But you can use "a variant statement" within a record declaration to pass the payload of one into the other.

Neil Rieck
Waterloo, Ontario, Canada.
 



More information about the Info-vax mailing list