Article ID: 191316
Article Last Modified on 12/11/1999
CLEAR ALL
PUBLIC yy,Y,zz
* The target session we are trying to SET TO:
Y = CREATEOBJECT("zform")
* A separate custom object, which can set to that session:
zz = CREATEOBJECT("myobj")
* A form in another session, which can set to that session:
yy = CREATEOBJECT("zform2")
* A member of screen, which will show the problem:
_SCREEN.ADDOBJECT("z","myobj")
Y.SHOW()
yy.SHOW()
RETURN
DEFINE CLASS myobj AS CUSTOM
PROCEDURE SetToActiveSession
WAIT WINDOW TIMEOUT 1 ;
"current ;
session: "+STR(SET("datasession"))
SET DATASESSION TO ;
(_SCREEN.ACTIVEFORM.DATASESSIONID)
WAIT WINDOW "session we want: "+;
ALLTR(STR(_SCREEN.ACTIVEFORM.DATASESSIONID))+ ;
", "+ CHR(13)+ ;
"session we got: "+ ;
ALLTR(STR(SET("DATASESSION"))) TIMEOUT 3
ENDPROC
ENDDEFINE
DEFINE CLASS zform AS FORM
DATASESSION = 2
ENDDEFINE
DEFINE CLASS zform2 AS zform
AUTOCENTER = .T.
ADD OBJECT z AS COMMANDBUTTON WITH ;
CAPTION="Push Me"
PROCEDURE z.CLICK
WAIT WINDOW TIMEOUT 1 "current session: "+STR(SET("datasession"))
SET DATASESSION TO (Y.DATASESSIONID)
WAIT WINDOW "session we want: "+ ;
ALLTR(STR(Y.DATASESSIONID))+ ;
", "+CHR(13)+ ;
"session we got: "+ ;
ALLTR(STR(SET("DATASESSION"))) TIMEOUT 1
ENDPROC
ENDDEFINE
zz.SetToActiveSession()
_Screen.z.SetToActiveSession()
Additional query words: kbVFp500a kbVFp600 kbOOP
Keywords: kbprb KB191316