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

abrsvc dansabrservices at yahoo.com
Fri Aug 3 08:20:48 EDT 2012


On Friday, August 3, 2012 8:05:51 AM UTC-4, (unknown) wrote:
> In article <d33ed2bc-95a0-43c2-a242-1c545c3afac4 at googlegroups.com>, Ian Miller <gxys at uk2.net> writes: >On Friday, August 3, 2012 10:47:54 AM UTC+1, Ramon Jimenez wrote: >> We're porting an application from an ancient VAX to an I64 plattform. App= >lication uses SMG routines, I'm searching for the OpenVMS RTL Screen Manage= >ment (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 f= >ound some issues and I would like to see wich differences if any has SMG on= > I64 vs VAX. > >SMG manual http://h71000.www7.hp.com/doc/73final/5935/5935pro.html > >Pay attention to the SMG data structures. Some of them are tricky Most of them are private. You're only handed a "handle" (a pointer) to the internal data structures. Pasteboard, Keyboard and Virtual Display IDs are just pointers to structures that SMG$ has allocated, populated and returned that pointer to you. I have read from and I have modified some of these internal structures (yeah, yeah, I know...) and even these have not changed from VAX to Alpha to Itanium. Save for the SMG$*_MENU requirement for an array of strings descriptor, what is tricky about the "public" SMG$ structures? FYI, Fortran would create the descriptor necessary for SMG$*_MENU quite nicely. I believe BASIC did too. Have fun if you're whacking SMG$ menu stuff with C. -- VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG Well I speak to machines with the voice of humanity.

The above sparked another thought as well...

Fortran on the I64 platform is the F90 compiler.  While most code will compile and work as expected, there are cases where behavior will change.  This is more due to reliance on how the compiler generated code than anything else and may be subtle.  As an example, IF statements that use variables as array indices can behave differently if the index is checked in the IF statement itself.  There is no order of evaluation specified by the standard for IF statement blocks.  Some code depends upon the IF blocks being evaluated left to right.  This is not guaranteed and can cause problems. This is one example of a potential code behavior change that moght not seem obvious.

Dan



More information about the Info-vax mailing list