Brian, if closeok flag is absent then the close event should call the verb opengl_close, you may add smoutput to trace, eg
opengl_close=: 3 : 0 smoutput 'opengl_close' target__ogl'' gluDeleteQuadric QUADS destroy__ogl'' ogl=: '' wd 'pclose' ) I am not sure if the target__ogl is needed here, but should be harmless. wd 'pclose' should be ok, the adverse (::) is not needed here becuase wd 'pclose' should succeed in this case. if opengl_close had been called, ogl should be empty afterwards. otherwise you need to find out why opengl_close had not? Сбт, 10 Ноя 2012, Brian Schott писал(а): > Bill, > > Thanks very much for your test code. > I ran it with the suggestions you made. > After canceling the graphic window, another graphic window appears > with the image unchanged, or maybe the original graphic window just > goes to the back of the windows. > > I have experimented some more with that graphic window "appearing". It > seems as if it only appears if, before I click on its close button, I > click on other windows first and then click on its close button. If I > do that then it reappears as sort of dead window. It is dead in the > sense that when I click Cmd+` to cycle between windows, no cycling > occurs. However, a second click on its close button does close it. > > In any case, when I execute the following command, I get the indicated > alert message and cannot proceed. > > tgsj_run 3 > |assertion failure: tgsj_run > | 0=#ogl > > > Would you please look again at your suggested definition of > opengl_close? I think you left out `3 :` on the first line and I don't > understand your wd line after `::`. FYI my original definition is as > follows. > > opengl_close=: 3 : 0 > gluDeleteQuadric QUADS > destroy__ogl'' > ogl=: '' > wd 'pclose' > ) > > > On Fri, Nov 9, 2012 at 6:42 PM, bill lam <[email protected]> wrote: > > I guess you may try > > > > ogl =: '' > > > > tgsj_run=: 3 : 0 > > if. #ogl do. > > free__ogl'' NB. force new rc > > wdpclose 'opengl' > > end. > > assert. 0=#ogl > > wd OPENGL > > wdmove _1 0 > > ogl=: ''conew'jzopengl' > > wd'setfocus g' > > wd'pcenter;pshow;' > > yw 0 NB. this is a startup command for my app > > ) > > > > opengl_close=: 0 > > free__ogl'' NB. force new rc > > wd ::0:'pclose' > > ) > > > > OPENGL=: 0 : 0 > > pc opengl;pn tgsj; > > xywh 0 0 200 150;cc g isigraph opengl rightmove bottommove; > > pas 0 0; > > rem form end; > > ) > > > > (untested) > > > > Птн, 09 Ноя 2012, Brian Schott писал(а): > >> > >> I have the following J602 code which initializes a window for opengl > >> just fine, but only the first time in a J session. After the first > >> time if I execute `tgsj_run ''` with the original graphics window > >> still open (it is closed before the first execution of `tgsj_run ''`) > >> I get a new grpahics window. Also upon the second execution of > >> `tgsj_run ''` the .ijs window disappears. > >> > >> On the other hand if I close the graphics window with escape before > >> re-executing `tgsj_run ''`, I get varied results. Sometimes it works > >> fine, but most often I either get a system crash or the old window > >> reopens along with the new window when I re-execute `tgsj_run ''`. > >> > >> Any ideas? > >> > >> 9!:12'' > >> 5 > >> 9!:14'' > >> j602/2008-03-03/16:45 > >> > >> > >> > >> ogl =: '' > >> > >> tgsj_run=: 3 : 0 > >> try. > >> opengl_close '' > >> free__ogl'' NB. force new rc > >> catch. > >> end. > >> wd OPENGL > >> wdmove _1 0 > >> if. 0=#ogl do. > >> ogl=: ''conew'jzopengl' > >> wd'setfocus g' > >> end. > >> wd'pcenter;pshow;' > >> yw 0 NB. this is a startup command for my app > >> ) > >> > >> OPENGL=: 0 : 0 > >> pc opengl closeok;pn tgsj; > >> xywh 0 0 200 150;cc g isigraph opengl rightmove bottommove; > >> pas 0 0; > >> rem form end; > >> ) > >> > >> > >> (B=) > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > > > > -- > > regards, > > ==================================================== > > GPG key 1024D/4434BAB3 2008-08-24 > > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > -- > (B=) <-----my sig > Brian Schott > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
