<?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[HBITMAP als Parameter und return- wert]]></title><description><![CDATA[<p>@Mods : Nicht zu WinAPI schieben, da ich eine Lösung brauche, die mit BCB geht!</p>
<p>Hallo Graphik- Freaks.<br />
Ich habe folgendes Problem.:</p>
<p>In einer DLL brauche ich eine Funktion</p>
<pre><code class="language-cpp">HBITMAP Execute(HBITMAP ABitmap)
{
  HBITMAP RetBM;
  //BM ist ein TBitmap- Objekt, welches vorher (irgendwo) erzeugt wurde
  //und spaeter (irgendwo) gelösch wird
  BM-&gt;Handle=ABitmap;
  ...
  //Hier wird das BM verändert

  return RetBM;
}
</code></pre>
<p>Jetzt hab ich zwei Probleme:<br />
1.<br />
Die Änderungen, die in BM gemacht werden, sollen nicht auf das übergebene ABitmap zurückwirken.<br />
Nach rückkehr der Funktion ist aber das Original- Bitmap ungültig.<br />
Wie kann das verhindert werden?<br />
2.<br />
Ich muss eine Kopie des geänderten Inhaltes von BM als HBITMAP treturnen?<br />
Kann mir einer sagen wie ich an so eine Kopie komme?<br />
return(BM-&gt;Handle);<br />
geht nicht das ist ungültig, da BM ja gelöscht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/119036/hbitmap-als-parameter-und-return-wert</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 03:24:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119036.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Aug 2005 19:25:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HBITMAP als Parameter und return- wert on Fri, 26 Aug 2005 19:25:19 GMT]]></title><description><![CDATA[<p>@Mods : Nicht zu WinAPI schieben, da ich eine Lösung brauche, die mit BCB geht!</p>
<p>Hallo Graphik- Freaks.<br />
Ich habe folgendes Problem.:</p>
<p>In einer DLL brauche ich eine Funktion</p>
<pre><code class="language-cpp">HBITMAP Execute(HBITMAP ABitmap)
{
  HBITMAP RetBM;
  //BM ist ein TBitmap- Objekt, welches vorher (irgendwo) erzeugt wurde
  //und spaeter (irgendwo) gelösch wird
  BM-&gt;Handle=ABitmap;
  ...
  //Hier wird das BM verändert

  return RetBM;
}
</code></pre>
<p>Jetzt hab ich zwei Probleme:<br />
1.<br />
Die Änderungen, die in BM gemacht werden, sollen nicht auf das übergebene ABitmap zurückwirken.<br />
Nach rückkehr der Funktion ist aber das Original- Bitmap ungültig.<br />
Wie kann das verhindert werden?<br />
2.<br />
Ich muss eine Kopie des geänderten Inhaltes von BM als HBITMAP treturnen?<br />
Kann mir einer sagen wie ich an so eine Kopie komme?<br />
return(BM-&gt;Handle);<br />
geht nicht das ist ungültig, da BM ja gelöscht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/859315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/859315</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Fri, 26 Aug 2005 19:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to HBITMAP als Parameter und return- wert on Thu, 01 Sep 2005 18:41:31 GMT]]></title><description><![CDATA[<p>Ich hab die Lösung:</p>
<pre><code class="language-cpp">HBITMAP Execute(HBITMAP ABitmap) 
{ 
  HBITMAP RetBM; 
  Graphics::TBitmap *TempBM=new Graphics::TBitmap();
  TempBM-&gt;Handle=ABitmap;
  //BM ist ein TBitmap- Objekt, welches vorher (irgendwo) erzeugt wurde 
  //und spaeter (irgendwo) gelösch wird 
  BM-&gt;Assign(TempBM);

  //DIE FOLGENDEN 2 ZEILEN SIND IN REIHENFOLGE KORRIGIERT NACH SUNDAY!!!
  ABitmap=TempBM-&gt;ReleaseHandle();

  delete TempBM;

  ... 
  //Hier wird das BM verändert 

  RetBM=BM-&gt;ReleaseHandle();
  return RetBM; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/861260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/861260</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Thu, 01 Sep 2005 18:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to HBITMAP als Parameter und return- wert on Tue, 30 Aug 2005 10:55:58 GMT]]></title><description><![CDATA[<p>das duerfte aber in die hose gehen:</p>
<pre><code class="language-cpp">delete TempBM;

  ABitmap=TempBM-&gt;ReleaseHandle();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/861269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/861269</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Tue, 30 Aug 2005 10:55:58 GMT</pubDate></item><item><title><![CDATA[Reply to HBITMAP als Parameter und return- wert on Thu, 01 Sep 2005 18:40:10 GMT]]></title><description><![CDATA[<p>Hallo Sunday,</p>
<p>Ist klar die 2 Zeilen sind genau andersrum!<br />
Sonst gäbe es wohl ein ernstes Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/863099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/863099</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Thu, 01 Sep 2005 18:40:10 GMT</pubDate></item></channel></rss>