<?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[CXX0030: ... hae?]]></title><description><![CDATA[<p>hi,</p>
<p>ich bin Neuling (siehe Code) auf dem Gebiet der C++ Programmierung und ich hab folgendes Problem:</p>
<p>ich würde gerne aus dem 1. Thread (browser_to_proxy_to_server) dem 2. Thread einen Zeiger auf die Struktur &quot;sockaddr_in&quot; namens &quot;inetproxy&quot; als Parameter(Thrd1Param) übergeben, damit der 2. Thread mit den entsprechenden Daten arbeiten kann. Daraus soll mal ein Proxy Switch entstehen.</p>
<p>Die Daten werden auch im 1. Thread an die Parameter-Variable übergeben. Wenn ich dann aber versuche im 2. Thread (browser_to_proxy_to_server) diese Daten zu verwenden, bekomme ich eine Access Violation.<br />
In der Strucktur im 2. Thread stehen keine Daten nur:</p>
<p>CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden</p>
<p>Ich habe die Struktur inetproxy sowohl global als auch local (im 1. Thread) definiert. Das Ergebnis bleibt aber das gleiche.</p>
<p>Warum werden meine Daten nicht übernommen?<br />
Bitte helft mir<br />
THX</p>
<pre><code>DWORD WINAPI server_to_proxy_to_browser(LPVOID lpParam);
DWORD WINAPI browser_to_proxy_to_server(LPVOID lpParam);

SOCKET descriptor;
// struct sockaddr_in inetproxy;

DWORD WINAPI browser_to_proxy_to_server(LPVOID lpParam)
{
		int sin_size;
		int neuer_sockel_descriptor=0,sockel_descriptor=descriptor;
		sin_size=sizeof(struct sockaddr_in);
		struct sockaddr_in test1;
		DWORD dwThrdParam=descriptor,dwThreadId;

		neuer_sockel_descriptor=accept(sockel_descriptor,(struct sockaddr*)&amp;test1,&amp;sin_size );

CreateThread(NULL,0,browser_to_proxy_to_server,&amp;dwThrdParam,0,&amp;dwThreadId);

		if (neuer_sockel_descriptor	==-1)
				{
					printf(&quot;Accept failed\n&quot;);
				}
		else
		{

		char buffer[1024];
		int len;
		int return_value;
		len=sizeof(buffer);

		return_value=recv(neuer_sockel_descriptor,buffer,len,0); 

		printf(&quot;\n Received %d bytes,data[%s]from client\n&quot;,return_value,buffer);

		struct sockaddr_in inetproxy;
		int inetport=0;
		const char *inetproxy_addr=0;
		inetproxy.sin_family=AF_INET;
		inetproxy.sin_addr.S_un.S_addr=inet_addr(inetproxy_addr);
		inetproxy.sin_port=htons(inetport);
		memcpy(&amp;(inetproxy.sin_zero),&quot;\0&quot;,8);
		SOCKET inet_socket;

		inet_socket=socket(AF_INET,SOCK_STREAM,0);

		if (connect(inet_socket,(struct sockaddr *)&amp;inetproxy,sizeof(struct sockaddr))!=0)
				{
					printf(&quot;Socket-Connect fehlgeschlagen\n&quot;);
				}

	        int rs_value;
		rs_value=send(inet_socket,buffer,len,0);

		DWORD dwThread1Id; 
		sockaddr_in *Thrd1Param=&amp;inetproxy;

		HANDLE hThread1;
		hThread1 = CreateThread(NULL,0,server_to_proxy_to_browser,&amp;Thrd1Param,0,&amp;dwThread1Id);

		if (hThread1 == NULL)
		{
			printf(&quot;Thread-Erstellung Fehlgeschlagen!&quot;);
		}
		}

	return 0;

}

DWORD WINAPI server_to_proxy_to_browser(LPVOID lpParam)
{
	sockaddr_in *newthread = (sockaddr_in*) lpParam;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/86707/cxx0030-hae</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 16:35:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/86707.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Sep 2004 18:57:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CXX0030: ... hae? on Tue, 21 Sep 2004 18:57:56 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich bin Neuling (siehe Code) auf dem Gebiet der C++ Programmierung und ich hab folgendes Problem:</p>
<p>ich würde gerne aus dem 1. Thread (browser_to_proxy_to_server) dem 2. Thread einen Zeiger auf die Struktur &quot;sockaddr_in&quot; namens &quot;inetproxy&quot; als Parameter(Thrd1Param) übergeben, damit der 2. Thread mit den entsprechenden Daten arbeiten kann. Daraus soll mal ein Proxy Switch entstehen.</p>
<p>Die Daten werden auch im 1. Thread an die Parameter-Variable übergeben. Wenn ich dann aber versuche im 2. Thread (browser_to_proxy_to_server) diese Daten zu verwenden, bekomme ich eine Access Violation.<br />
In der Strucktur im 2. Thread stehen keine Daten nur:</p>
<p>CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden</p>
<p>Ich habe die Struktur inetproxy sowohl global als auch local (im 1. Thread) definiert. Das Ergebnis bleibt aber das gleiche.</p>
<p>Warum werden meine Daten nicht übernommen?<br />
Bitte helft mir<br />
THX</p>
<pre><code>DWORD WINAPI server_to_proxy_to_browser(LPVOID lpParam);
DWORD WINAPI browser_to_proxy_to_server(LPVOID lpParam);

SOCKET descriptor;
// struct sockaddr_in inetproxy;

DWORD WINAPI browser_to_proxy_to_server(LPVOID lpParam)
{
		int sin_size;
		int neuer_sockel_descriptor=0,sockel_descriptor=descriptor;
		sin_size=sizeof(struct sockaddr_in);
		struct sockaddr_in test1;
		DWORD dwThrdParam=descriptor,dwThreadId;

		neuer_sockel_descriptor=accept(sockel_descriptor,(struct sockaddr*)&amp;test1,&amp;sin_size );

CreateThread(NULL,0,browser_to_proxy_to_server,&amp;dwThrdParam,0,&amp;dwThreadId);

		if (neuer_sockel_descriptor	==-1)
				{
					printf(&quot;Accept failed\n&quot;);
				}
		else
		{

		char buffer[1024];
		int len;
		int return_value;
		len=sizeof(buffer);

		return_value=recv(neuer_sockel_descriptor,buffer,len,0); 

		printf(&quot;\n Received %d bytes,data[%s]from client\n&quot;,return_value,buffer);

		struct sockaddr_in inetproxy;
		int inetport=0;
		const char *inetproxy_addr=0;
		inetproxy.sin_family=AF_INET;
		inetproxy.sin_addr.S_un.S_addr=inet_addr(inetproxy_addr);
		inetproxy.sin_port=htons(inetport);
		memcpy(&amp;(inetproxy.sin_zero),&quot;\0&quot;,8);
		SOCKET inet_socket;

		inet_socket=socket(AF_INET,SOCK_STREAM,0);

		if (connect(inet_socket,(struct sockaddr *)&amp;inetproxy,sizeof(struct sockaddr))!=0)
				{
					printf(&quot;Socket-Connect fehlgeschlagen\n&quot;);
				}

	        int rs_value;
		rs_value=send(inet_socket,buffer,len,0);

		DWORD dwThread1Id; 
		sockaddr_in *Thrd1Param=&amp;inetproxy;

		HANDLE hThread1;
		hThread1 = CreateThread(NULL,0,server_to_proxy_to_browser,&amp;Thrd1Param,0,&amp;dwThread1Id);

		if (hThread1 == NULL)
		{
			printf(&quot;Thread-Erstellung Fehlgeschlagen!&quot;);
		}
		}

	return 0;

}

DWORD WINAPI server_to_proxy_to_browser(LPVOID lpParam)
{
	sockaddr_in *newthread = (sockaddr_in*) lpParam;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/612261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612261</guid><dc:creator><![CDATA[rona]]></dc:creator><pubDate>Tue, 21 Sep 2004 18:57:56 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 07:38:00 GMT]]></title><description><![CDATA[<p>inetproxy ist ne locale variable, wird also auf den stack gelegt und sobald die funktion endet wieder davon entfernt. Du rufst jetzt mit nem pointer auf diese variable CreateThread Thread auf und deine aufruf-funktion endet 3 Zeilen später =&gt; inetproxy gibts nicht mehr, deine thread-funktion hat also nen zeiger auf was, was es nicht mehr gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612551</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 22 Sep 2004 07:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 08:35:09 GMT]]></title><description><![CDATA[<p>ja das hab ich mir ja auch gedacht, aber als ich inetproxy als globale Variable (weit oben aber auskommentiert) definiert habe, hatte ich das selbe Problem.<br />
Das liegt doch nicht daran das ich auf die globale variable in 1. Thread etwas zuweise. Das wird doch nicht gelöscht wenn der Thread beendet wird, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612605</guid><dc:creator><![CDATA[rona]]></dc:creator><pubDate>Wed, 22 Sep 2004 08:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 08:44:34 GMT]]></title><description><![CDATA[<p>ohh.... jetzt seh ich es erst..</p>
<p>versuchs mal so:</p>
<pre><code class="language-cpp">DWORD WINAPI server_to_proxy_to_browser(LPVOID lpParam)
{
    sockaddr_in **newthread = (sockaddr_in**) lpParam;
    return 0;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612618</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 22 Sep 2004 08:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 09:22:07 GMT]]></title><description><![CDATA[<p>und wie kann ich jetzt auf die elemente zugreifen? <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="😕"
    /><br />
(angezeigt werden sie nicht mehr im Varablen Fenster)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612658</guid><dc:creator><![CDATA[rona]]></dc:creator><pubDate>Wed, 22 Sep 2004 09:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 09:59:23 GMT]]></title><description><![CDATA[<p>rona schrieb:</p>
<blockquote>
<p>und wie kann ich jetzt auf die elemente zugreifen? <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="😕"
    /><br />
(angezeigt werden sie nicht mehr im Varablen Fenster)</p>
</blockquote>
<p>also der pointer newthread ist der selbe wie der lpParam, aber wenn ich in VC++ 6.0 die Elemente anschauen will steht da unter dem newthread-pointer wieder: CXX0030: ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612701</guid><dc:creator><![CDATA[rona]]></dc:creator><pubDate>Wed, 22 Sep 2004 09:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 10:56:38 GMT]]></title><description><![CDATA[<p>du übergibts deinem thread keinen pointer auf ein sockaddr_in sondern nen pointer auf nen pointer auf ein sockaddr_in.</p>
<pre><code class="language-cpp">sockaddr_in *Thrd1Param=&amp;inetproxy;  // Thrd1Param is ein zeiger auf inetproxy

CreateThread(...,&amp;Thrd1Param,..); 
// du übergibts nenen zieger auf nen zeiger der auf inetproxy zeigt,
// welcher zu auch noch auf dem stack liegt und somit ungüligt wird sobald dein Funktion endet
</code></pre>
<p>mach das &amp; beim CreateThread Aufruf weg und du solltest in deinem alten Thread code auf die member zugreifen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/612772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/612772</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 22 Sep 2004 10:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to CXX0030: ... hae? on Wed, 22 Sep 2004 16:42:12 GMT]]></title><description><![CDATA[<p>ja wenn ich mir das genauer betrachte...</p>
<p>das kann ja dann nicht funktionieren!</p>
<p>Danke für die Hilfe <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/613030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/613030</guid><dc:creator><![CDATA[rona]]></dc:creator><pubDate>Wed, 22 Sep 2004 16:42:12 GMT</pubDate></item></channel></rss>