<?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[Problem mit ATL]]></title><description><![CDATA[<p>Guten Abend allerseits,<br />
folgender Code funzt leider nicht:</p>
<pre><code class="language-cpp">#include &lt;atlbase.h&gt; 
CComModule _Module; 
#include &lt;atlcom.h&gt; 
#include &lt;atlhost.h&gt; 
// ... 
// Am Anfang von WinMain: 
_Module.Init(0,hInst); 
AtlAxWinInit(); 
//..
//WNDCLASS wc;
//GetClassInfo(hInstance,&quot;AtlAxWin7&quot;,&amp;wc);

hWndContainer=CreateWindow(TEXT(&quot;AtlAxWin7&quot;),
		TEXT(*irgendeine CLSID*),
	         WS_CHILD | WS_VISIBLE,
	         0,0,0,0,
		hWndParent,
		(HMENU)ID_CONTAINER,
		hInstance,
		0);
int err = GetLastError();
char szErr[50];
itoa(err,szErr,10);
if(hWndContainer==NULL)
     MessageBox(0,szErr,&quot;failure&quot;,MB_OK);
//...
// Am Ende von WinMain: 
AtlAxWinTerm(); 
_Module.Term();
</code></pre>
<p>Obwohl mir GetLastError sagt, dass alles OK (ErrorCode 0) ist, bekomme ich ein NULL-HWND zurück. Nur wenn ich anstelle der CLSID &quot;NULL&quot; übergebe, ist das HWND gültig. Die Klasse scheint korrekt registriert zu sein, denn wenn ich GetClassInfo(hInstance,&quot;AtlAxWin7&quot;,&amp;wc) aufrufe, stimmen die Werte Klassenname und hInstance.</p>
<p>Mit inständiger Bitte um Rat <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="😉"
    /> ,<br />
Pablo</p>
<p>Ach ja, hätte ich fast vergessen: WindowsXP &amp; <a href="http://VisualStudio.Net" rel="nofollow">VisualStudio.Net</a>(allerdings ein BETA 2-Release, könnte das damit zusammenhängen?)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/65242/problem-mit-atl</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 15:05:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/65242.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Feb 2004 19:52:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit ATL on Tue, 17 Feb 2004 19:54:52 GMT]]></title><description><![CDATA[<p>Guten Abend allerseits,<br />
folgender Code funzt leider nicht:</p>
<pre><code class="language-cpp">#include &lt;atlbase.h&gt; 
CComModule _Module; 
#include &lt;atlcom.h&gt; 
#include &lt;atlhost.h&gt; 
// ... 
// Am Anfang von WinMain: 
_Module.Init(0,hInst); 
AtlAxWinInit(); 
//..
//WNDCLASS wc;
//GetClassInfo(hInstance,&quot;AtlAxWin7&quot;,&amp;wc);

hWndContainer=CreateWindow(TEXT(&quot;AtlAxWin7&quot;),
		TEXT(*irgendeine CLSID*),
	         WS_CHILD | WS_VISIBLE,
	         0,0,0,0,
		hWndParent,
		(HMENU)ID_CONTAINER,
		hInstance,
		0);
int err = GetLastError();
char szErr[50];
itoa(err,szErr,10);
if(hWndContainer==NULL)
     MessageBox(0,szErr,&quot;failure&quot;,MB_OK);
//...
// Am Ende von WinMain: 
AtlAxWinTerm(); 
_Module.Term();
</code></pre>
<p>Obwohl mir GetLastError sagt, dass alles OK (ErrorCode 0) ist, bekomme ich ein NULL-HWND zurück. Nur wenn ich anstelle der CLSID &quot;NULL&quot; übergebe, ist das HWND gültig. Die Klasse scheint korrekt registriert zu sein, denn wenn ich GetClassInfo(hInstance,&quot;AtlAxWin7&quot;,&amp;wc) aufrufe, stimmen die Werte Klassenname und hInstance.</p>
<p>Mit inständiger Bitte um Rat <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="😉"
    /> ,<br />
Pablo</p>
<p>Ach ja, hätte ich fast vergessen: WindowsXP &amp; <a href="http://VisualStudio.Net" rel="nofollow">VisualStudio.Net</a>(allerdings ein BETA 2-Release, könnte das damit zusammenhängen?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/461546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/461546</guid><dc:creator><![CDATA[Pablo]]></dc:creator><pubDate>Tue, 17 Feb 2004 19:54:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 11:38:46 GMT]]></title><description><![CDATA[<p>weiss niemand etwas dazu? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/461952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/461952</guid><dc:creator><![CDATA[Pablo]]></dc:creator><pubDate>Wed, 18 Feb 2004 11:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 11:51:58 GMT]]></title><description><![CDATA[<p>Du bist Dir sicher, daß die COM-Klasse registriert ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/461968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/461968</guid><dc:creator><![CDATA[-King-]]></dc:creator><pubDate>Wed, 18 Feb 2004 11:51:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 15:37:47 GMT]]></title><description><![CDATA[<p>Hi,<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> ich muss zugeben, dass ich mich mit ATL und COM bisher noch nicht auseinandergesetzt habe, daher weiss ich nicht, was genau Du mit COM-Klasse meinst. Ich muss dringend entweder den IE oder Shockwave in meiner Anwendung zum laufen bringen, deshalb habe ich leider nicht die Zeit, mich einzuarbeiten, es muss nur laufen.<br />
Folgendes Phänomen ist nun aufgetreten: ich habe eine MessageBox, die direkt vor CreateWindow stand, auskommentiert und seitdem funktioniert es (jetzt auch ohne Auskommentierung), allerdings nur mit der Browser-CLSID. Bei Shockwave und Pdf macht er Unfug.</p>
<p>Pablo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462224</guid><dc:creator><![CDATA[Pablo]]></dc:creator><pubDate>Wed, 18 Feb 2004 15:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 15:55:23 GMT]]></title><description><![CDATA[<p>dein Fenster oder Dialog das ActiveX Komponente hostet, muss von CAxWindow bzw. CAxDialogImpl abgeleitet sein. Das Objekt muss wiederrum ein COM-Objekt sein. Erst dann kannst du ein IE Fenster erstellen. In der WinMain Funktion musst du noch AtlAxWinInit aufrufen. Nachdem du das alles getan hast, ruftst du CAxWindow::Create und dann CAxWindow::CreateControl bzw. CAxWindow::CreateControlEx mit der richtigen CLSID.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462247</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Wed, 18 Feb 2004 15:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:07:24 GMT]]></title><description><![CDATA[<p>Shlo schrieb:</p>
<blockquote>
<p>dein Fenster oder Dialog das ActiveX Komponente hostet, muss von CAxWindow bzw. CAxDialogImpl abgeleitet sein.</p>
</blockquote>
<p>Wieso?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3042">@Pablo</a><br />
Anders gefragt: Bist Du sicher, daß Du den richtigen CLSID angegeben hast?</p>
<p>Ich weiß eben ehrlich gesagt auch nicht, wie Dir das näher bringen kann, da Du von COM noch gar nichts weißt. So komplett ohne Hintergrund wirst Du wohl früher oder später sowieso ans Ende gelangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462264</guid><dc:creator><![CDATA[-King-]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:11:51 GMT]]></title><description><![CDATA[<p>-King- schrieb:</p>
<blockquote>
<p>Shlo schrieb:</p>
<blockquote>
<p>dein Fenster oder Dialog das ActiveX Komponente hostet, muss von CAxWindow bzw. CAxDialogImpl abgeleitet sein.</p>
</blockquote>
<p>Wieso?</p>
</blockquote>
<p>weil auf die Weise ist ATL aufgebaut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462270</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:11:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:13:45 GMT]]></title><description><![CDATA[<p>Shlo schrieb:</p>
<blockquote>
<p>weil auf die Weise ist ATL aufgebaut.</p>
</blockquote>
<p>Na und? Deswegen muß ich doch nichts von CAxWindow oder CAxDialogImpl ableiten. Ich kann doch trotzdem einfach CreateWindow/ Ex verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462273</guid><dc:creator><![CDATA[-King-]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:24:02 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1320">@king</a><br />
ich habe die CLSID angegeben, mit der man ein Shockwave-file in den Browser lädt, das müsste also stimmen.</p>
<p>Pablo<br />
PS. herzlichen Dank für Deine hilfsbereitschaft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/462288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462288</guid><dc:creator><![CDATA[Pablo]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:24:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:30:58 GMT]]></title><description><![CDATA[<p>-King- schrieb:</p>
<blockquote>
<p>Shlo schrieb:</p>
<blockquote>
<p>weil auf die Weise ist ATL aufgebaut.</p>
</blockquote>
<p>Na und? Deswegen muß ich doch nichts von CAxWindow oder CAxDialogImpl ableiten. Ich kann doch trotzdem einfach CreateWindow/ Ex verwenden.</p>
</blockquote>
<p>von mir aus kannst verwenden was auch immer du willst, da frage ich mich warum du ATL dafür brauchst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462299</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 16:54:23 GMT]]></title><description><![CDATA[<p>Shlo schrieb:</p>
<blockquote>
<p>von mir aus kannst verwenden was auch immer du willst,</p>
</blockquote>
<p>Ach, wie schön. Weiter oben hiess es noch, daß ich ableiten <strong>muß</strong>.</p>
<p>Shlo schrieb:</p>
<blockquote>
<p>da frage ich mich warum du ATL dafür brauchst...</p>
</blockquote>
<p>Wegen der Fensterprozedur zur Fensterklasse CAxWindow::GetWndClassName() vielleicht?</p>
<p>BTW: Wenn Du schon ableitest, kannst Du Dir den Aufruf von AtlAxWinInit sparen. Das <strong>muß</strong> in dem von Dir beschriebenen Szenario nicht sein. Das passiert automatisch AtlAxCreateControlEx, bzw. im Konstruktor von CAxWindowT (ATL7). Das war also auch Unsinn.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3042">@Pablo</a><br />
Ich kann Dir nicht sagen, warum das bei Dir nicht funktioniert. Ich kann mir nur vorstellen, daß der CLSID nicht registriert ist, und 'müsste also' ist immer so eine Sache. Schau Dir mal mit <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5233b70d-d9b2-4cb5-aeb6-45664be858b6&amp;displaylang=en" rel="nofollow">OLEView</a> unter 'Controls' an, was Sache ist.</p>
<p>BTW: Wenn es mit dem Browser funktioniert, läufst Du dann gar nicht in eine Assertion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462322</guid><dc:creator><![CDATA[-King-]]></dc:creator><pubDate>Wed, 18 Feb 2004 16:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit ATL on Wed, 18 Feb 2004 17:32:53 GMT]]></title><description><![CDATA[<p>-King- schrieb:</p>
<blockquote>
<p>Ach, wie schön. Weiter oben hiess es noch, daß ich ableiten <strong>muß</strong>.</p>
</blockquote>
<p>ich glaube ich spreche mit einer Wand...</p>
<p>-King- schrieb:</p>
<blockquote>
<p>Wegen der Fensterprozedur zur Fensterklasse CAxWindow::GetWndClassName() vielleicht?</p>
</blockquote>
<p>LOL? und da nimmst du lieber CreateWindow/Ex?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/462370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/462370</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Wed, 18 Feb 2004 17:32:53 GMT</pubDate></item></channel></rss>