<?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[COM]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich prüfen, ob ein Interface-Zeiger gueltig ist, ohne eine Methode des Interface aufzurufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81350/com</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 14:22:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81350.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jul 2004 13:56:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to COM on Fri, 30 Jul 2004 13:56:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich prüfen, ob ein Interface-Zeiger gueltig ist, ohne eine Methode des Interface aufzurufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571672</guid><dc:creator><![CDATA[Huber]]></dc:creator><pubDate>Fri, 30 Jul 2004 13:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to COM on Fri, 30 Jul 2004 15:34:55 GMT]]></title><description><![CDATA[<p>Naja, wenn dein Basisklassenpointer NULl ist, ist er ungültig, ansonsten meistens gültig. Du hast doch deine Funktion in deiner Dll, die dir den Pointer initalisiert. Ich weiss jetzt nicht wie das bei dir konkret aussieht, aber im Endeffekt wird deine Funktion einen Basis** erwarten und das Objekt initialisieren.</p>
<p>Das bedeutet dass du es einfach so prüfen kannst:</p>
<pre><code class="language-cpp">CBase* test = (CBase**)NULL;

//Hier das Laden deine Dll also LoadLibrary oder LoadLibraryEx und GetProcAddress mit deiner Funktion. 

//Funktionszeiger ausführen, kriegt addresse von test übergeben

if (!test)
//test ist initalisiert
else
//test ist nicht initialisiert
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/571743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571743</guid><dc:creator><![CDATA[fluxy]]></dc:creator><pubDate>Fri, 30 Jul 2004 15:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to COM on Sat, 31 Jul 2004 15:37:01 GMT]]></title><description><![CDATA[<p>Du kannst natürlich zuerst auf 0(NULL) prüfen. Wenn du keinen NULL-Pointer hast, bedeutet dies jedoch leider nicht das du mit deinem Interface-Pointer auch erfolgreich arbeiten kannst. Es können mit dem Pointer natürlich alle möglichen Fehler gemacht worden sein, von der Seite die dir diesen Pointer übergibt. <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="😉"
    /> Im Falle von DCOM kommen ausserdem noch potentielle Netzwerk-Fehler dazu.<br />
Das heisst, du musst bei <strong>jeden</strong> COM-Aufruf mit Fehlern rechnen, du kanst <strong>nicht</strong> im Vorfeld durch irgendwelche Prüfungen Fehler ausschliessen.</p>
<p>mfg JJ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572198</guid><dc:creator><![CDATA[John Doe]]></dc:creator><pubDate>Sat, 31 Jul 2004 15:37:01 GMT</pubDate></item></channel></rss>