<?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[ATL oder CThunk?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Jeder eingefleischter WinAPI'ler der in C++ programmiert wird bestimmt schon mal versucht haben eine Klasse für Fenster zu schreiben. Ich habe anfangs die Methode verwendet, wo man den Extraspeicher des Fensters ausnutze um den this-pointer darin zu speichern. Das gefiel mir jedoch später garnicht mehr nachdem ich die wunderhübsche CThunk-Klasse studiert habe; eine sehr elegante Lösungsalternative wie ich fand. Bisher habe ich die Klasse CThunk nur bei solchen Fensterklassen verwendet, von denen ich jeweils immer nur eine Instanz brauchte. Heute bin ich drauf gekommen, dass der Code für mehrere Instanzen garnicht mehr funktionieren würde. Der Grund liegt darin, dass ich die Fensterklasse (ich meine jetzt WNDCLASS[EX]) nur einmal registrierte. Damit das aber für mehrere Instanzen der C++ Fensterklasse funktioniert, muss jedesmal eine neue WNDCLASS[EX] registriert werden. So verstehe ich das zumindest.<br />
Nun plagt mich zusätzlich das Problem der Destruktion eines Fensterobjektes. Wer kommt zuerst, der Destruktor der C++ Fensterklasse oder die WM_DESTROY/WM_NCDESTROY Nachricht? Wenn ich nämlich in der Behandlungsroutine von WM_DESTROY (z.B) auf die Membervariablen zugreife und das Objekt längst destruiert wurde kann es unter Umständen zu Zugriffsverletzungen kommen...</p>
<p>Was soll ich jetzt tun? Soll ich doch lieber was anderes verwenden, z.B. die ATL? Oder was verwendet ihr denn? Auch CThunk? Wie habt ihr dann diese Probleme gelöst??</p>
<p>Hoffe auf eure Hilfe.</p>
<p>MfG,<br />
Aziz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/76523/atl-oder-cthunk</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 11:43:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/76523.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Jun 2004 15:22:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ATL oder CThunk? on Sat, 12 Jun 2004 15:22:17 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Jeder eingefleischter WinAPI'ler der in C++ programmiert wird bestimmt schon mal versucht haben eine Klasse für Fenster zu schreiben. Ich habe anfangs die Methode verwendet, wo man den Extraspeicher des Fensters ausnutze um den this-pointer darin zu speichern. Das gefiel mir jedoch später garnicht mehr nachdem ich die wunderhübsche CThunk-Klasse studiert habe; eine sehr elegante Lösungsalternative wie ich fand. Bisher habe ich die Klasse CThunk nur bei solchen Fensterklassen verwendet, von denen ich jeweils immer nur eine Instanz brauchte. Heute bin ich drauf gekommen, dass der Code für mehrere Instanzen garnicht mehr funktionieren würde. Der Grund liegt darin, dass ich die Fensterklasse (ich meine jetzt WNDCLASS[EX]) nur einmal registrierte. Damit das aber für mehrere Instanzen der C++ Fensterklasse funktioniert, muss jedesmal eine neue WNDCLASS[EX] registriert werden. So verstehe ich das zumindest.<br />
Nun plagt mich zusätzlich das Problem der Destruktion eines Fensterobjektes. Wer kommt zuerst, der Destruktor der C++ Fensterklasse oder die WM_DESTROY/WM_NCDESTROY Nachricht? Wenn ich nämlich in der Behandlungsroutine von WM_DESTROY (z.B) auf die Membervariablen zugreife und das Objekt längst destruiert wurde kann es unter Umständen zu Zugriffsverletzungen kommen...</p>
<p>Was soll ich jetzt tun? Soll ich doch lieber was anderes verwenden, z.B. die ATL? Oder was verwendet ihr denn? Auch CThunk? Wie habt ihr dann diese Probleme gelöst??</p>
<p>Hoffe auf eure Hilfe.</p>
<p>MfG,<br />
Aziz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/538673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538673</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Sat, 12 Jun 2004 15:22:17 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sat, 12 Jun 2004 18:19:46 GMT]]></title><description><![CDATA[<p><a href="http://www.pluralsight.com/fritz/Articles/cpprep0399.htm" rel="nofollow">http://www.pluralsight.com/fritz/Articles/cpprep0399.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/538773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538773</guid><dc:creator><![CDATA[Link]]></dc:creator><pubDate>Sat, 12 Jun 2004 18:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sat, 12 Jun 2004 19:23:44 GMT]]></title><description><![CDATA[<p>Ich kenne diese Seite bereits, aber ich hab mir den Artikel nochmals durchgelesen. Jetzt weiß ich vielleicht auch schon wie ich meine Probleme lösen kann. Bin noch am werkeln <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/538804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538804</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Sat, 12 Jun 2004 19:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sun, 13 Jun 2004 12:20:06 GMT]]></title><description><![CDATA[<p>um zu testen ob erst der dtor oder die wm_ kommt mach doch einfach ein msg boxen dann wirst du es schon sehen.</p>
<p>muss zugeben habe weder mit atl noch mit cthunk was am hut. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/539133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/539133</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Sun, 13 Jun 2004 12:20:06 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sun, 13 Jun 2004 12:25:24 GMT]]></title><description><![CDATA[<p>Das ist momentan nicht mehr das Problem, aber auch wenn ich feststellen würde dass z.B. der Destruktor zuerst kommt, dann könnte ich mich nicht wirklich darauf verlassen, dass dies immer geschieht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/539139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/539139</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Sun, 13 Jun 2004 12:25:24 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sun, 13 Jun 2004 12:26:47 GMT]]></title><description><![CDATA[<p>Aziz schrieb:</p>
<blockquote>
<p>aber auch wenn ich feststellen würde dass z.B. der Destruktor zuerst kommt, dann könnte ich mich nicht wirklich darauf verlassen, dass dies immer geschieht...</p>
</blockquote>
<p>warum ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/539141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/539141</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Sun, 13 Jun 2004 12:26:47 GMT</pubDate></item><item><title><![CDATA[Reply to ATL oder CThunk? on Sun, 13 Jun 2004 12:57:00 GMT]]></title><description><![CDATA[<p>Keine Ahnung, sei nicht so neugierig :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/539163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/539163</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Sun, 13 Jun 2004 12:57:00 GMT</pubDate></item></channel></rss>