<?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[Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich übergebe dem Konstruktor eines Thread Objects(class communication) einen Pointer eines Objects der Klasse Com (Com1), Com ist eine von mir entwickelte<br />
Komponenete in my_komps.bpk</p>
<pre><code class="language-cpp">Thread1 = new communication(false,Com1);
</code></pre>
<p>Im Thread</p>
<pre><code class="language-cpp">//Im Header
class Com;        //Forward reference
class communication : public TThread
{
private:
     Com *com;             //Com Pointer Instanz erzeugen
 protected:
	void __fastcall Execute();

public:
	__fastcall communication(bool CreateSuspended,Com *comm);
	__fastcall ~communication();
};
//Konstruktor
__fastcall communication::communication(bool CreateSuspended,Com *comm)
	: TThread(CreateSuspended)
{
     Priority = tpNormal;
     FreeOnTerminate = true;		
     com = comm;              //Pointer zuweisen
}
</code></pre>
<p>Möchte ich nun im Thread auf eine MemberFunktion der Klasse Com zugreifen,</p>
<pre><code class="language-cpp">if (!com-&gt;get_high_low((unsigned __int16*)&amp;fmain_window-&gt;ControllerInfo.SW))
     	{
    			return 0;
    		}
</code></pre>
<p>Kommt die Fehlermeldung &quot;GetHighLow ist kein Element von Com, weil der Typ nicht<br />
definiert ist.<br />
Selbst nach includieren des Headers der Klasse Com kommt die Fehlermeldung.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126796/object-pointer-an-thread-object-übergeben-kann-nicht-auf-memberfuntionen-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 19:00:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126796.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Nov 2005 15:49:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 16:34:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich übergebe dem Konstruktor eines Thread Objects(class communication) einen Pointer eines Objects der Klasse Com (Com1), Com ist eine von mir entwickelte<br />
Komponenete in my_komps.bpk</p>
<pre><code class="language-cpp">Thread1 = new communication(false,Com1);
</code></pre>
<p>Im Thread</p>
<pre><code class="language-cpp">//Im Header
class Com;        //Forward reference
class communication : public TThread
{
private:
     Com *com;             //Com Pointer Instanz erzeugen
 protected:
	void __fastcall Execute();

public:
	__fastcall communication(bool CreateSuspended,Com *comm);
	__fastcall ~communication();
};
//Konstruktor
__fastcall communication::communication(bool CreateSuspended,Com *comm)
	: TThread(CreateSuspended)
{
     Priority = tpNormal;
     FreeOnTerminate = true;		
     com = comm;              //Pointer zuweisen
}
</code></pre>
<p>Möchte ich nun im Thread auf eine MemberFunktion der Klasse Com zugreifen,</p>
<pre><code class="language-cpp">if (!com-&gt;get_high_low((unsigned __int16*)&amp;fmain_window-&gt;ControllerInfo.SW))
     	{
    			return 0;
    		}
</code></pre>
<p>Kommt die Fehlermeldung &quot;GetHighLow ist kein Element von Com, weil der Typ nicht<br />
definiert ist.<br />
Selbst nach includieren des Headers der Klasse Com kommt die Fehlermeldung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920762</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Fri, 18 Nov 2005 16:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 16:33:38 GMT]]></title><description><![CDATA[<p>In der Cpp der Threadklasse auf jeden Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920795</guid><dc:creator><![CDATA[case]]></dc:creator><pubDate>Fri, 18 Nov 2005 16:33:38 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 16:35:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>selbstverständlich must du wenn du eine Klasse benutzten willst, deren Header includen, selbst mit Forward Declaration. In deinem Fall sogar in Header des Threads.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920798</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 18 Nov 2005 16:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 17:21:25 GMT]]></title><description><![CDATA[<p>Vieleicht habe ich da etwas nicht kappiert.</p>
<p>Meine Komponente Com taucht in der Komponenten Leiste auf, die Komponente<br />
befindet sich in der Package my_comps.bpk, die sich in einem Order MyComps befindet.</p>
<p>Ich kann ja auch auf alle Membervariablen/Funktionen eines Image zugreifen<br />
weil automatisch der Header vcl.h includiert wird.</p>
<p>Es ist sehr umständlich in jedem Project ersteinmal den Com Header<br />
in der Ordner zu kopieren um ihn dann includen zu können.</p>
<p>Davon abgesehen kann ich in der Form auf dem ich die Komponenete Com gesetzt<br />
habe ja auch auf alle Membervariablen/Funktionen von Com zugreifen hier ist<br />
im Header Com.h inkludiert und in der Cpp gibt es noch das Pragma #pragma link &quot;Com&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920833</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Fri, 18 Nov 2005 17:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 17:20:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ist aber so, und das soll verhindern das für jede Unit (Übersetungseinheit) dein kompletter Quellecode jedesmal kompiliert werden muß.<br />
In der VCL.H stehen auch alle benötigten Header, so das du auf viele VCL-Klassen und Funktionen zugreifen kannst. Aber wenn du dir mal den Header eines Forms anschaust, in dem viele eher ungewöhnliche Komponenten vorhanden sind (wie die BDE-Kompos), stellst du fest das dort auch neue Header zu der VCL.H dazu kommen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920837</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 18 Nov 2005 17:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 17:30:03 GMT]]></title><description><![CDATA[<p>Ich habe mir mal den vcl.h angesehen, hier wird vcl0.h includiert in dem<br />
dann mehrere Header includiert werden.</p>
<p>Wenn ich eine neue Komponenete unter Borland erstelle, bin ich davon<br />
ausgegangen das der Header dieser Komponente die ja auch in der Komponenten Leiste<br />
auftaucht in vcl.h eigetragen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920847</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Fri, 18 Nov 2005 17:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 17:37:42 GMT]]></title><description><![CDATA[<p>ausserdem brauchst du die kompos nicht jedesmal in ein neues projekt zu kopieren. kannst doch ueber relative pfadangaben auf die entspr. header zu greifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920852</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Fri, 18 Nov 2005 17:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to Object Pointer an Thread Object übergeben, kann nicht auf Memberfuntionen zugreifen on Fri, 18 Nov 2005 20:04:48 GMT]]></title><description><![CDATA[<p>Habe nun die an einem anderem Rechner erstellte Package MyKomps.bpk<br />
mit den Komponenten nach Hause gemailt.<br />
Nun versuche ich gerade die Package unter Komponenten-&gt;Packages Installieren<br />
hinzuzufügen.<br />
Hier ist die extension aber bpl meine Package hat aber .bpk.<br />
Wie bekommt man das den nun hin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920994</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Fri, 18 Nov 2005 20:04:48 GMT</pubDate></item></channel></rss>