<?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 managed und unmanaged Code]]></title><description><![CDATA[<p>hi zusammen,</p>
<p>ich habe ein c# projekt und versuche damit eine c++ dll anzusteuern.<br />
dazu habe ich einen wrapper gebaut. nun habe ich ein problem, das ich leider nicht in den griff bekomme:</p>
<p>aus der mgdPipeElem klasse:</p>
<pre><code class="language-cpp">mgdEndpoint* get_endpnt() {
		Endpoint unmgdEndpnt;
		int res = aPipeElem-&gt;get_endpnt(unmgdEndpnt);
		mgdEndpoint* endpnt = new mgdEndpoint(&amp;unmgdEndpnt);
		return endpnt;
	}
</code></pre>
<p>kann ich das Endpoint Objekt wie im code angegeben mit &amp; in ein zeiger umwandeln? oder macht das evtl schon probleme? wenn ich hier debugge ist endpnt richtig initialisiert...</p>
<p>mgdEndpoint:</p>
<pre><code class="language-cpp">public __gc class mgdEndpoint
{
private:
	Endpoint* aEndpoint;
public:
...
	mgdEndpoint(Endpoint* _aEndpoint) {
		aEndpoint = _aEndpoint;
	}
</code></pre>
<p>wenn ich jetzt in meiner c# klasse auf ein startpunkt zugreife...</p>
<pre><code class="language-cpp">mgdEndpoint ep = aPipeElem.get_endpnt();
</code></pre>
<p>...wird ep nicht richtig instanziiert. wenn ich darauf eine funktion aufrufe und im debugger schaue, ist aEndpoint nicht richtig inizialisiert. also es steht nur blödsinn in den variablen.</p>
<p>was läuft denn hier schief? wie krieg ich denn den pointer von ep bzw aEndpunkt geregelt!?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302805/problem-mit-managed-und-unmanaged-code</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 03:12:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302805.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Apr 2012 12:44:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit managed und unmanaged Code on Fri, 27 Apr 2012 12:47:34 GMT]]></title><description><![CDATA[<p>hi zusammen,</p>
<p>ich habe ein c# projekt und versuche damit eine c++ dll anzusteuern.<br />
dazu habe ich einen wrapper gebaut. nun habe ich ein problem, das ich leider nicht in den griff bekomme:</p>
<p>aus der mgdPipeElem klasse:</p>
<pre><code class="language-cpp">mgdEndpoint* get_endpnt() {
		Endpoint unmgdEndpnt;
		int res = aPipeElem-&gt;get_endpnt(unmgdEndpnt);
		mgdEndpoint* endpnt = new mgdEndpoint(&amp;unmgdEndpnt);
		return endpnt;
	}
</code></pre>
<p>kann ich das Endpoint Objekt wie im code angegeben mit &amp; in ein zeiger umwandeln? oder macht das evtl schon probleme? wenn ich hier debugge ist endpnt richtig initialisiert...</p>
<p>mgdEndpoint:</p>
<pre><code class="language-cpp">public __gc class mgdEndpoint
{
private:
	Endpoint* aEndpoint;
public:
...
	mgdEndpoint(Endpoint* _aEndpoint) {
		aEndpoint = _aEndpoint;
	}
</code></pre>
<p>wenn ich jetzt in meiner c# klasse auf ein startpunkt zugreife...</p>
<pre><code class="language-cpp">mgdEndpoint ep = aPipeElem.get_endpnt();
</code></pre>
<p>...wird ep nicht richtig instanziiert. wenn ich darauf eine funktion aufrufe und im debugger schaue, ist aEndpoint nicht richtig inizialisiert. also es steht nur blödsinn in den variablen.</p>
<p>was läuft denn hier schief? wie krieg ich denn den pointer von ep bzw aEndpunkt geregelt!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206115</guid><dc:creator><![CDATA[mig1985]]></dc:creator><pubDate>Fri, 27 Apr 2012 12:47:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit managed und unmanaged Code on Fri, 27 Apr 2012 12:57:48 GMT]]></title><description><![CDATA[<p>glaube ich hab den fehler schon herausgefunden.<br />
es liegt scheinbar echt an</p>
<pre><code class="language-cpp">mgdEndpoint* endpnt = new mgdEndpoint(&amp;unmgdEndpnt);
</code></pre>
<p>wenn ich unmgdEndpnt als Endpoint* mit new erzeuge, dann gehts!<br />
bleibt also nur noch die frage, wie ich eine instanz von Endpoint richtig in einen zeiger umwandeln kann, ohne dass er verloren geht / probleme gibt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206129</guid><dc:creator><![CDATA[mig1985]]></dc:creator><pubDate>Fri, 27 Apr 2012 12:57:48 GMT</pubDate></item></channel></rss>