[Info-vax] OpenVMS RTL Screen Management (SMG$) Manual

Craig A. Berry craigberry at mac.com.spamfooler
Fri Aug 3 14:47:18 EDT 2012


In article <539550e5-aeaa-4c1f-9525-c84ba500abce at googlegroups.com>,
 Ramon Jimenez <rjimen37 at ford.com> wrote:

> We're porting an application from an ancient VAX to an I64 plattform.
> 
> Application uses SMG routines, I'm searching for the 
> 
> OpenVMS RTL Screen Management (SMG$) Manual
> Order Number: AA--PV6LD--TK 
> 
> I'm following links shown on HP vms 8.3 official document repository but the 
> only version I can find is for VAX-Alpha VMS 7.3.
> 
> Is not there an I64 version for this manual? I've found some issues and I 
> would like to see wich differences if any has SMG on I64 vs VAX.

The only SMG problem I encountered when going to Itanium had to do with 
broadcast trapping.  The BASIC example in the manual at:

<http://h71000.www7.hp.com/doc/73final/5935/5935pro_015.html#index_x_224>

(which we had slavishly imitated in our production code) does not work 
on Itanium because it's sloppy about what's a subroutine and what's a 
function and on Itanium you must declare your callback functions as 
functions, not as subroutines.  VAX and Alpha were more forgiving about 
this -- something about procedure signatures.  

I'm sure Brian or Hartmut or John Reagan or other knowledgable denizens 
of the noosegroup can explain the details, but you really don't need 
the details to fix the problem.  You just need to convert those 
broadcast subroutines to functions so that lines that look like:


EXTERNAL INTEGER GET_MSG

become:

EXTERNAL INTEGER FUNCTION GET_MSG

and lines that look like:

SUB GET_MSG (...)

become:

FUNCTION INTEGER GET_MSG (...)

But you may not be doing broadcast trapping at all, in which case you 
really need to specify exactly what you are doing and what sort of 
problem you're having with it.



More information about the Info-vax mailing list