[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared

Craig Dedo craig.dedo at gmail.com
Wed Jun 5 12:41:52 EDT 2019


On Tuesday, June 4, 2019 at 7:00:33 PM UTC-5, Stephen Hoffman wrote:
> On 2019-06-04 22:07:50 +0000, Craig Dedo said:
> 
> I'll assume some combination of the following exists in the source code...
> 
> %include "starlet"           %from %library  
> "sys$library:basic$starlet"      ! System Services declarations
> %include "$ssdef"              %from %library  
> "sys$library:basic$starlet"      ! condition codes
> %include "lib$routines"          %from %library  
> "sys$library:basic$starlet"      ! LIBRTL routines
> 
> > When trying to use the OpenVMS Run Time Library procedures...
> > Declare Quad            End_of_Month_Date_Time_gq
> 
> Check the declarations and—if this is the problem I think it is—try 
> declaring each of the associated variables as...
> 
> BASIC$QUADWORD  End_of_Month_Date_Time_gq
> 
> Previous:
> https://mail.encompasserve.org/anon/htnotes/note?f1=VMS&f2=2912.30
> 
> Posting a standalone reproducer can help with these, too.
> 
> 
> -- 
> Pure Personal Opinion | HoffmanLabs LLC


Hi Steve:
You found the solution to my problem.  I replaced this:
Declare Quad            End_of_Month_Date_Time_gq
with:
Declare BASIC$QUADWORD  End_of_Month_Date_Time_gq

The problem disappeared when I called the procedures LIB$CONVERT_DATE_STRING() and LIB$DAY_OF_WEEK().

As Duncan Morris suggested, the compiler and Run Time Library do not consider BASIC$QUADWORD to be the same as Quad.

FWIW, on your other point, yes, I did include several modules of the Run Time Library (LIB$) and System Services Library (SYS$) definitions and procedure interfaces.  Here is what I included:
%INCLUDE "$LIBDEF"      %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET.TLB"
%INCLUDE "$LIBDTDEF"    %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET.TLB"
%INCLUDE "LIB$ROUTINES" %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET.TLB"
%INCLUDE "$SSDEF"       %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET.TLB"
%INCLUDE "STARLET"      %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET.TLB"

Sincerely,
Craig T. Dedo, OpenVMS Software Development Consultant
Navistar, Inc.
2701 Navistar Drive
Lisle, IL   60532-3637
E-mail:  firstname.lastname at domain dot com
Domain:  Navistar



More information about the Info-vax mailing list