Thanks for the info Matthew. Is it way too simplistic to think that DrRacket could pre-require a full set of the platform-specific GUI components for the platform that DrRacket is running on so that when a program needs them they are already available?   <br>
<br>I must say that it seems rather icky that one can run something at the command line that cannot also be run in DrRacket. I&#39;m using DrRacket almost exclusively for developing in Racket and it was an unpleasant surprise that it could be so.<br>
<br>On Sat, May 26, 2012 at 8:02 AM, Matthew Flatt <span dir="ltr">&lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is essentially a limitation of `racket/gui&#39;. Platform-specific GUI<br>
back-ends are `dynamic-require&#39;d by `racket/gui&#39;, so when `racket/gui&#39;<br>
is attached to the program namespace by DrRacket, the platform-specific<br>
back-end modules aren&#39;t similarly attached. Since they&#39;re not attached,<br>
DrRacket tries to run them afresh when your program uses the modules.<br>
The modules refuse to run again, however, since they have to set<br>
process-level state, and a previous instance of the set of modules is<br>
detected.<br>
<div><div class="h5"><br>
At Sat, 26 May 2012 01:17:44 -0600, Kieron Hardy wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; In debugging my second display monitor issue I&#39;m trying to make a little<br>
&gt; test utility from the Racket source.<br>
&gt;<br>
&gt; I&#39;ve copied a snippet (pasted below) from<br>
&gt; &lt;somepath&gt;\collects\mred\private\wx\win32\frame.rkt into a new file in the<br>
&gt; same directory as frame.rkt.<br>
&gt;<br>
&gt; Although it will compile (with raco make) and execute from the command line<br>
&gt; (using racket), DrRacket refuses to compile or execute, failing with the<br>
&gt; error message:<br>
&gt; &quot;cannot instantiate `racket/gui/base&#39; a second time in the same process&quot;<br>
&gt;<br>
&gt; I&#39;ve tried changing the order of the files in the require with no success.<br>
&gt;<br>
&gt; Can anyone tell me if I&#39;m doing something wrong or if I have a problem with<br>
&gt; my configuration?<br>
&gt;<br>
&gt; Cheers,<br>
&gt;<br>
&gt; Kieron.<br>
&gt;<br>
&gt; ****<br>
&gt;<br>
&gt; #lang racket/base<br>
&gt;<br>
&gt; (require<br>
&gt;          ffi/unsafe<br>
&gt;          &quot;utils.rkt&quot;<br>
&gt;          &quot;types.rkt&quot;<br>
&gt;          )<br>
&gt;<br>
&gt; (define-user32 EnumDisplayMonitors (_wfun _HDC<br>
&gt;                         _pointer<br>
&gt;                       (_wfun #:atomic? #t _pointer _HDC _RECT-pointer<br>
&gt; _pointer -&gt; _BOOL)<br>
&gt;                       _pointer -&gt; _BOOL))<br>
</div></div>&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br>