Operating System - OpenVMS
1752782 Members
5876 Online
108789 Solutions
New Discussion юеВ

pasteboardid,helplineid,keyid,titleid,virtualcnt

 
SOLVED
Go to solution
schiffkeycfl.rr.com
New Member

pasteboardid,helplineid,keyid,titleid,virtualcnt

pasteboardid,helplineid,keyid,titleid,virtualcnt

has anyone seen these files on either a vax or alpha box?

email me immediately at
tutor AT cfl DOT rr DOT com

Thank you !!!
10 REPLIES 10
Hein van den Heuvel
Honored Contributor
Solution

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

That sounds like potential identifier / variable names for an SMG based application.
Not a filename

Looks for some SMG include file.

Hein.
schiffkeycfl.rr.com
New Member

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

ah yes, thank you. sounds like a good hint.

but where do i find smg files or libraries?

thank you!
Martin P.J. Zinser
Honored Contributor

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

Hi,

if we are talking C, look at

sys$common:[decc$lib.reference.sys$starlet_c]

(if the includes have been upacked)

respectively at the Text library

sys$library:sys$startlet_c.tlb

If you are looking for another language, please
give us more details.

Greetings, Martin
schiffkeycfl.rr.com
New Member

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

Well, Martin...

That was enlightening, and I can honestly say I learned something about .tbl's (text libraries)... but no, I was not able to find helplineid, keyid or titleid there.

Where else can I look?
Martin P.J. Zinser
Honored Contributor

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

Hello,

well I can not either :-( , sorry to have sent you on a wild goose hunt. The SMG headers are in this place, but maybe this is not an SMG problem at all. Could you please provide some more details, like the language the program is written in and if possible the <> error messages you receive.

Greetings, Martin
schiffkeycfl.rr.com
New Member

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

The language is C.
Yeap - I have 20 years of Cobol and never touched C till today !

The LINK error (not a compile error) is

%Link-I-UDFSYM, KEYID
(ditto to helplineid,pasteboardid,titleid and virtualcnt).

I am tempted to think that these modules were created by the original software company back in 1992. And maybe the source is "lost" (verses not being able to located it on the VAX).

Oh one more thing: We are rebuilding / recompiling everything on the new ALPHA box as copied from the VAX box.

And one more thing: These are submodules of submodules. The error message when running the program is a numeric stack dump. The program should display to choices and then ask for input. The first choice ends up in the upper left corner (thus implying the row/column has not been passed).

To make matters worse, the modules keyid etc are defined as external (extern keyid). However, since the program did not compile because the symbol was not defined, we commented out the extern and just compiled the sucker. (Brillian, eh?) This is why the program bombs: PasteboardID is not set, thus corrupting the rest of the program!

Obviously, we are missing a header file (like keyid.h) or a macro that describes keyid as a global. However, on $ search [...]*.c,*.h,*.lib,*.mar,*.cob keyid ...
I find nothing on any of the disks! [Threw in Cobol for the memory ;-0) ]

Back to you....
Hein van den Heuvel
Honored Contributor

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

Like I tried to indicate in my reply, those names normally woudl reflect user chosen variable and will NOT be defined by any system provided module. You are missing some application code. (.h file?)

Check out chapter 1.1 and 1.2 in the SMG library manual ( http://h71000.www7.hp.com/doc/73final/5935/5935pro_001.html ) and you well soon enough recognize their function.

SWAG... create a MACRO module:

.psect mysmgdata,wrt,noexe
pasteboardid:: .long
helplineid:: .long
keyid:: .long
titleid:: .long
virtualcnt:: .long
.end

macro that, and link with the rest.
That should stop the linker from complaining and will likely get you past the first few SMG calls, maybe putting up a screen.
RUn with /DEBUG and SET BREAK/EXCEP to see to what poitn the charade holds up.

Good luck (you need some!)
Hein.


Antoniov.
Honored Contributor

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

Hello,
you can find external reference and obviously you can't link.
You searched in *.c,*.h, etc but usually the included files are into text library (.tlb extension); you could search this files and look into them (using LIBR command) to find the references.
Otherwise you could link using precompiled modules; in this case you have to find object library (.olb extension) to link with your code; sfortunatly you can't see into object modules so you could guess what .olb you need.

@Antoniov
Antonio Maria Vigliotti
Willem Grooters
Honored Contributor

Re: pasteboardid,helplineid,keyid,titleid,virtualcnt

pasteboardid,helplineid,keyid,titleid,virtualcnt

These will be variables defined in your application. To give you a hint:
pasteboardid = returned by SMG$CREATE_PASTEBOARD (1st parameter) - handle of the "display" of the application
helplineid = some local variable, probably used for displaying helptext (SMG$PUT_HELP_TEXT) or a full display (in that case, could be pastboard_id for helpscreen.
keyid = I guess used to hold key entered - SMG$READ_KEYSTROKE?
titleid = like helpline_id, or some reference to a border-text (used when creating a pasteboard)

These variables could be specified in a common area (likely in some application-specific headerfile - that you NEED to include in your source containg the MAIN routine), passde in a structure or as separate variables.
If tou look in the listing of LINK, it will show exactly in which module these are missing.

Willem
Willem Grooters
OpenVMS Developer & System Manager