<?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[VCL artige Klasse casten ?]]></title><description><![CDATA[<p>Moinse,</p>
<p>also ich bastel gerade mit FMOD rum und muss ein paar Callbacks angeben welche static sein müssen. Um nun wieder an meine Klasse ranzukommen muss ich nun irgendwie das hier unten entsprechend casten (in userdata wird die klasse übergeben). Das Problem, die Klasse ist ein Thread-Objekt und der BCB meckert mich an das ich VCL artige Klassen nur mit new erstellen kann.</p>
<pre><code>FMOD_RESULT F_CALLBACK howlingStreamRipper::myopen(const char *name, int unicode, unsigned int *filesize, void **handle, void **userdata) {
</code></pre>
<p>So what to do ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141659/vcl-artige-klasse-casten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 22:05:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141659.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Mar 2006 22:00:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:00:11 GMT]]></title><description><![CDATA[<p>Moinse,</p>
<p>also ich bastel gerade mit FMOD rum und muss ein paar Callbacks angeben welche static sein müssen. Um nun wieder an meine Klasse ranzukommen muss ich nun irgendwie das hier unten entsprechend casten (in userdata wird die klasse übergeben). Das Problem, die Klasse ist ein Thread-Objekt und der BCB meckert mich an das ich VCL artige Klassen nur mit new erstellen kann.</p>
<pre><code>FMOD_RESULT F_CALLBACK howlingStreamRipper::myopen(const char *name, int unicode, unsigned int *filesize, void **handle, void **userdata) {
</code></pre>
<p>So what to do ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022689</guid><dc:creator><![CDATA[Galeon]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:00:11 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:05:30 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>zeig doch mal deine versuchte Umwandlung.<br />
Du must den <em>reinterpret_cast</em> einsetzen, um auf <em>void</em>* und zurück zu casten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022692</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:05:30 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:16:39 GMT]]></title><description><![CDATA[<p>Schonmal danke für die Antwort, kann damit zwar noch nix anfangen, aber erstmal in der doku lesen was die zu reinterpret_cast sagt ;).</p>
<p>meine versuche sahen z.b. so aus (dürfte dezent falsch sein), was dann dank dieser VCL-Fehlermeldung schonmal im Kaim erstickt wurde <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=":/"
      alt="😕"
    /></p>
<pre><code>FMOD_RESULT F_CALLBACK howlingStreamRipper::myopen(const char *name, int unicode, unsigned int *filesize, void **handle, void **userdata) {
    howlingStreamRipper * cls = (howlingStreamRipper)userdata;

    cls-&gt;FileHandle = fopen(cls-&gt;OutputFileName, &quot;wb&quot;);
    if (!cls-&gt;FileHandle)
    {
        return FMOD_ERR_FILE_NOTFOUND;
    }

    return FMOD_OK;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1022695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022695</guid><dc:creator><![CDATA[Galeon]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:16:39 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:19:31 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">howlingStreamRipper * cls = reinterpret_cast&lt;howlingStreamRipper *&gt;(userdata);
</code></pre>
<p>Das kommt aber darauf an, wie du das VCL-Objekt den nun in userdata rein-castest.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022696</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:19:31 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:22:56 GMT]]></title><description><![CDATA[<p>Tjo, genaugenommen mach ich da gar nicht viel ausser der FMOD-klasse mittels</p>
<pre><code>setUserData (system, this);
</code></pre>
<p>das ganze zu übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022698</guid><dc:creator><![CDATA[Galeon]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:22:56 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:30:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann must du so wie ich es geschrieben hab casten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022700</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:30:57 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Thu, 23 Mar 2006 22:31:43 GMT]]></title><description><![CDATA[<p>Gerade mal probiert, klappt wunderbar, herzlichen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1022701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022701</guid><dc:creator><![CDATA[Galeon]]></dc:creator><pubDate>Thu, 23 Mar 2006 22:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to VCL artige Klasse casten ? on Fri, 24 Mar 2006 07:38:34 GMT]]></title><description><![CDATA[<p>Galeon schrieb:</p>
<blockquote>
<pre><code>//...
howlingStreamRipper * cls = (howlingStreamRipper)userdata;
//...
</code></pre>
</blockquote>
<p>das hätte auch mit deinem c-style-cast geklappt, hättest du nicht den zeiger vergessen. kannst nichts auf nen statisches objekt (weiss net ob das so heisst) casten, wenn ein zeiger gefordert ist.</p>
<pre><code>//...
howlingStreamRipper *cls = (howlingStreamRipper[b]*[/b]) userdata;
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1022772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1022772</guid><dc:creator><![CDATA[Caster]]></dc:creator><pubDate>Fri, 24 Mar 2006 07:38:34 GMT</pubDate></item></channel></rss>