<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unterform schliessen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem und zwar öffne ich von einem Hauptform aus mit</p>
<pre><code>Application-&gt;CreateForm(__classid(TOpenGL3DGUI), &amp;OpenGL3DGUI);
OpenGL3DGUI-&gt;Show();
</code></pre>
<p>ein &quot;Unterfenster&quot; in dem eine OpenGL-Darstellung ist. Wenn ich dieses Fenster nun mit</p>
<pre><code>void __fastcall TOpenGL3DGUI::FormClose(TObject *Sender, TCloseAction &amp;Action)
{
	 if (OpenGL3DGUI != NULL) {
		 delete OpenGL3DGUI;
         OpenGL3DGUI = NULL;
	 }
}
</code></pre>
<p>schliesse, und in der folgenden Funktion einen Haltepunkt setze</p>
<pre><code>void __fastcall TOpenGL3DGUI::IdleLoop(TObject*, bool&amp; done)
{
    done = false;
    RenderGLScene();
    SwapBuffers(hdc);
}
</code></pre>
<p>so sehe ich, dass diese weiterhin durchlaufen wird. Was muss ich tun, damit das Fenster komplett zerstört wird (also der Zustand VOR öffnen des Fensters wiederhergestellt wird)?</p>
<p>Danke und Gruss<br />
Lodi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186112/unterform-schliessen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 11:58:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186112.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jul 2007 09:35:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unterform schliessen on Thu, 05 Jul 2007 09:35:30 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem und zwar öffne ich von einem Hauptform aus mit</p>
<pre><code>Application-&gt;CreateForm(__classid(TOpenGL3DGUI), &amp;OpenGL3DGUI);
OpenGL3DGUI-&gt;Show();
</code></pre>
<p>ein &quot;Unterfenster&quot; in dem eine OpenGL-Darstellung ist. Wenn ich dieses Fenster nun mit</p>
<pre><code>void __fastcall TOpenGL3DGUI::FormClose(TObject *Sender, TCloseAction &amp;Action)
{
	 if (OpenGL3DGUI != NULL) {
		 delete OpenGL3DGUI;
         OpenGL3DGUI = NULL;
	 }
}
</code></pre>
<p>schliesse, und in der folgenden Funktion einen Haltepunkt setze</p>
<pre><code>void __fastcall TOpenGL3DGUI::IdleLoop(TObject*, bool&amp; done)
{
    done = false;
    RenderGLScene();
    SwapBuffers(hdc);
}
</code></pre>
<p>so sehe ich, dass diese weiterhin durchlaufen wird. Was muss ich tun, damit das Fenster komplett zerstört wird (also der Zustand VOR öffnen des Fensters wiederhergestellt wird)?</p>
<p>Danke und Gruss<br />
Lodi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318757</guid><dc:creator><![CDATA[lodi3453]]></dc:creator><pubDate>Thu, 05 Jul 2007 09:35:30 GMT</pubDate></item><item><title><![CDATA[Reply to Unterform schliessen on Thu, 05 Jul 2007 10:01:57 GMT]]></title><description><![CDATA[<p>versuch mal</p>
<pre><code class="language-cpp">OpenGL3DGUI-&gt;Release();
</code></pre>
<p>vor dem delete</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318783</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Thu, 05 Jul 2007 10:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to Unterform schliessen on Thu, 05 Jul 2007 12:39:11 GMT]]></title><description><![CDATA[<p>Am besten ist es, du erzeugst deine neue Form gar nicht erst über CreateForm, sondern einfach mittels new.</p>
<pre><code class="language-cpp">OpenGL3DGUI = new TOpenGL3DGUI(0);
</code></pre>
<p>In diesem Fall (0 als Parameter) mußt du natürlich selbst für das Löschen sorgen, was du ja wohl auch willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318902</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:39:11 GMT</pubDate></item><item><title><![CDATA[Reply to Unterform schliessen on Thu, 05 Jul 2007 13:20:36 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wo kann ich denn folgende Eigenschaft setzen:</p>
<p>[C++] __property TCloseEvent OnClose = {read=FOnClose, write=FOnClose};</p>
<p>sie steht für untergeordnete SDI-Formulare auf caHide (siehe Hilfe), ich würde sie aber gerne auf caFree setzen????</p>
<p>Danke und Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318935</guid><dc:creator><![CDATA[lodi3453]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:20:36 GMT</pubDate></item><item><title><![CDATA[Reply to Unterform schliessen on Thu, 05 Jul 2007 14:07:52 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>OnClose ist ein Event. Du must also mit dem Objektinspektor für das Form eine Eventmethode für diesen Event erzeugen. Dann kannst du dem entsprechenden Parameter der Methode auch den Wert caFree übergeben. Das alles kannst du auch in der Builder-Hilfe nachlesen.</p>
<p>/Edit : und sfds</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318967</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 05 Jul 2007 14:07:52 GMT</pubDate></item></channel></rss>