"No Entry Point" When there IS ONE!

Dawn M

Member
Progress 9.1D
Windows XP

I have a SmartWindow, I'll call it WindowA, that has a SmartDataViewer with a few fill-in fields and buttons.

The user enters information in WindowA, then presses a button, that calls another SmartWindow, WindowB. WindowB, contains a SmartDataViewer on page one and a SmartDataBrowser and SDO on page two.

Here is the logic to call WindowB from WindowA (which is in the SDV of WindowA):

define variable hWindowA as handle no-undo.
define variable hWindowB as handle no-undo.
define variable hContainer as handle no-undo.

run WindowBProgram.p persistent set hWindowB no-error.

run initializeObject in hWindowB.

{get ContainerSource hContainer}.

assign hWindowA = hContainer. /* since we are in a SDV, I need the handle to the window */

run testIP in hWindowB (input hWindowA).

My problem is that I'm getting a "WindowBProgram.p has no entry point for testIP (6454)" error but the testIP internal procedure IS in WindowBProgram.p.

Anybody have any clue why I'm getting this error?
 
Hello Dawn,


I presume you mean error is 6456.

Try taking out the non-essential code (references to initializeobject and windowprogramA), and running again.

Also, make sure the latest version of WindowB is in your propath.

Use INTERNAL-ENTRIES function to show WindowBs procedures.


Lee
 

Dawn M

Member
Lee,

Yes, the error is 6456.

When I take out the "run initializeObject..." statement, the second window (WindowB) doesn't display.

Also, I tried the "internal-entries" attribute, but there were so many I couldn't display them all in a message box.

Any more suggestions?
 

jongpau

Member
Just a wild guess, but maybe testIP is "flagged" as PRIVATE in windowB (easy to check when you go to the internal procedure in question in the AppBuilder).

To make sure the internal procedure is actually there (and/or can be seen from the outside world) you can do a:
Code:
MESSAGE LOOKUP("testIP":U,hWindowB:INTERNAL-ENTRIES) VIEW-AS ALERT-BOX.
just after where windowB is run.
 

Dawn M

Member
Thanks for the replies, guys.

Nope, the IP isn't "Private". But, INTERNAL-ENTRIES is returning 0.

For some reason, it can't "see" the IP.

I also put test messages in initializeObject of the WindowBProgram.p but it never gets to it. Only the initializeObjects IP of the SDV on WindowB.

Weird.

Any more suggestions? Even weird ones?:tear:
 

jongpau

Member
Hmmm weird; maybe there is a wait-for (or something similar) in the SDV (or yet again some bit of code included in or run from the SDV) that prevents it getting back to windowB after the RUN of the SDV? Or maybe the SDV is not run persistent from within windowB?

Just a couple of wild guesses here...
 
Dawn,

What happens when you use the search function to display the path of WIndowBProgram.p?

ie.

message search('windowbprogram.p') view-as alert-box.

(put in WindowA SDV code before run WindowBProgram.p )

Is it displaying the path you expect? If it's a .r, is the .r compiled with testip contained?
 

Dawn M

Member
There are no "wait-fors". All the windows, SDV, SDO and SDB are all unmodified SmartObjects. And every SO is run persistently. (BTW, I'm working in the AppBuilder.)

And, double checking, the propath is correct.

Next thoughts?

(Thanks for the ideas though, gentlemen!)
 

Dawn M

Member
Lee, your last post got me thinking about my propath. I went back and discovered that, while WindowBProgram.p WAS in my propath, so was a previous compiled version of WindowBProgram.r. One I blew that away, everything FINALLY WORKED! (DUH!)

Thank you and Paul for your assistance!
 
Top