Strange behaviour with super procs

Dhubbuck

New Member
Hi everybody
Problem with 9.1D09 and super procedures

I have a caller window that runs a super procedre library persistent
RUN LibSuper.p PERSISTENT SET hLibSessionSuper.
ASSIGN hLibSessionSuper:pRIVATE-DATA = "LibSuper.p":U.
SESSION:ADD-SUPER-PROCEDURE(hLibSessionSuper).

It also runs a persistent window
IF NOT VALID-HANDLE(hProcStock) THEN
DO:
RUN wstkwin2.w PERSISTENT SET hProcStock.
RUN sbSetStockHandle(hProcStock).
DYNAMIC-FUNCTION('setHideOnInit':U IN hProcStock, YES) .
DYNAMIC-FUNCTION('setDisableOnInit':U IN hProcStock, YES).

RUN initializeObject IN hProcStock.

IF VALID-HANDLE(hProcStock) THEN
ASSIGN
hWindow = hProcStock:CURRENT-WINDOW
hWindow:pARENT = wWin.
END.
ELSE
DO:
RUN sbSetSystemLocation("General").
RUN enableObject IN hprocStock.
RUN viewobject IN hprocStock.
END.

Everything works ok and this caller window call other non persistent windows as well.

If we call a superRunmenuproc procedure which is defined in the libsuper.p superprocedre in one of the non persistent windows we can do a local overide and everything is fine.

If we call a superRunmenuproc procedure which is defined in the libsuper.p superprocedre in persistent stock windows we can not do a local overide and can only overide the proc within the caller window.

Is this typical behaviour. I would like to overide the superproc in the stock window because the problem is the callerwindow always appears over the stock window after a menu call in the stock window.

Hope somebody can shed some light.

Also would moving to 10.1B and the OOP help with some of these issues.

Thanks

Dale
 
Top