<div dir="ltr">One problem is:<div><br> #wx{ id = ?CLOSE, event = #wxCommand{ type = close_window } }  <br><div>which should be </div><div>#wx{ id = ?CLOSE, event = #<b>wxClose</b>{ type = close_window } }</div></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 1, 2018 at 10:49 PM John R. Ashmun <<a href="mailto:john.ashmun@gmail.com">john.ashmun@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I have written an interactive Erlang program which runs on Microsoft Windows 10 & which makes use of wxErlang to open a window which contains buttons for a user to click upon.  Their use is not problematic.</div><div><br></div><div>The window has a File menu with the single item "Quit" and of course it also has a widget intended to be used to close it.  The use of these is somewhat problematic:  If I select the "Quit" item, although the Erlang process that created the window successfully receives the message</div><div><br></div><div>#wx{ id= ?EXIT,<br>        event = #wxCommand{ type = command_menu_selected } }<br><br></div><div>(where I used a</div><div><br></div><div>-define(EXIT, ?wxID_EXIT).<br></div><div><br></div><div>macro for some reason.)</div><div><br></div><div>and its matching clause apparently succeeds with its call to wxWindow:close( ), in the Erlang shell there appears this message:<br></div><div><br></div><div>=ERROR REPORT==== 1-Nov-2018::14:01:34 ===<br>Supervisor received unexpected message: {wx,-202,<br>                                         {wx_ref,35,wxFrame,[]},<br>                                         [],<br>                                         {wxClose,close_window}}<br></div><div><br></div><div>My guess is that this report is generated by calling wxWindow:close( Frame, [] ).<br></div><div><br></div><div>I don't understand what "Supervisor" is in this case.  Could it be the process that spawned the process that creates the wxWindow?  The process owning the window and handling the wxCommand event attempts to send a tuple { terminate } to a process in the application that started it, and this appears to succeed, but only as a result of the Quit menu item -- if I click on the window-closing widget, I see no action being taken, but it turns out that the same ERROR REPORT has been queued somewhere; it appears after I subsequently choose the Quit menu item, before the one generated by choosing the Quit menu item.</div><div><br></div><div>I would like to learn how to eliminate the error report & how to get the close widget to close the window and send the { terminate } tuple.</div><div><br></div><div>About the close_window event, the receive loop is looking for</div><div><br></div><div>  #wx{ id = ?CLOSE, event = #wxCommand{ type = close_window } }<br><br></div><div>where ?CLOSE is an alias for ?wxID_CLOSE</div><div><br></div><div>If I had any understanding of how to use Github from Windows 10, I would happily make the sources available, but it's beyond me so far.</div><div><br></div></div></div></div></div></div></div></div>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>