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 hLibSessionSuperRIVATE-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
hWindowARENT = 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
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 hLibSessionSuperRIVATE-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
hWindowARENT = 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