<?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[eine dll in ein TImage zeichenn lassen]]></title><description><![CDATA[<p>also ich habe jetzt mehrere visualisierungen für meinen mp3 player programmiert. diese wollte ich jetzt (jede einzeln) in eine dll packen. und die dann im mp3 player darauf zugreifen. Die visualisierungen zeichnen in ein TImage auf dem Hauptformular. Ich weiss jetzt nicht, wie ich das ganze verwirklichen soll. kann mir irgendjemans dabei helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77273/eine-dll-in-ein-timage-zeichenn-lassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 07:10:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77273.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Jun 2004 14:01:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Sat, 19 Jun 2004 14:01:25 GMT]]></title><description><![CDATA[<p>also ich habe jetzt mehrere visualisierungen für meinen mp3 player programmiert. diese wollte ich jetzt (jede einzeln) in eine dll packen. und die dann im mp3 player darauf zugreifen. Die visualisierungen zeichnen in ein TImage auf dem Hauptformular. Ich weiss jetzt nicht, wie ich das ganze verwirklichen soll. kann mir irgendjemans dabei helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543749</guid><dc:creator><![CDATA[nuclearspider]]></dc:creator><pubDate>Sat, 19 Jun 2004 14:01:25 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Sat, 19 Jun 2004 16:16:20 GMT]]></title><description><![CDATA[<p>Hi,<br />
dlls sind doch auch eigentlich nur Funktionen. Am besten einfach das Canvas von Image an eine Funktion übergeben und dann darauf zeichnen....</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543820</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Sat, 19 Jun 2004 16:16:20 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Sat, 19 Jun 2004 19:39:53 GMT]]></title><description><![CDATA[<p>ja, stimmt. das hab ich jetzt gemacht.<br />
Aber ich werde aus der FAQ zum thema dll einginden nicht schlau <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
meine funktion:</p>
<pre><code class="language-cpp">void Vis1(TCanvas *canvas, float *spec, TColor col)
{
  canvas-&gt;Pen-&gt;Color = col;
  for(int i = 0; i &lt; 512; i++)
  {
      canvas-&gt;MoveTo(i, 300);
      canvas-&gt;LineTo(i, 300 - (spec[i]*300));
  }
}
</code></pre>
<p>Die soll in die dll.<br />
Das habe ich gemacht. muss ich das dann noch extra exprotieren?<br />
und wie rufe ich die funktion von meinem programm aus auf?<br />
bis jetzt bin ich sowiet:</p>
<p>*.cpp file:</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  HINSTANCE hInstance;
  hInstance = ::LoadLibrary(&quot;vis1.dll&quot;);
  pDllFunction = (DLLFUNCTION*)::GetProcAddress((HMODULE)hInstance, &quot;vis1&quot;);
}
//---------------------------------------------------------------------------

...

(*pDllFunction)(&quot;Image1-&gt;Canvas&quot;,&quot;*spectrum&quot;,&quot;color[zufall]&quot;);
</code></pre>
<p>header file:</p>
<pre><code class="language-cpp">typedef int (DLLFUNCTION)(TCanvas, float*, TColor);
        DLLFUNCTION *pDllFunction;
</code></pre>
<p>aber es funktioniert nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543909</guid><dc:creator><![CDATA[nuclearspider]]></dc:creator><pubDate>Sat, 19 Jun 2004 19:39:53 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Mon, 21 Jun 2004 05:53:03 GMT]]></title><description><![CDATA[<p>Schau mal, ob Dir das hier weiterhilft:</p>
<p><a href="http://home.snafu.de/christian.marquardt/tutorials.8/8_dll.html" rel="nofollow">http://home.snafu.de/christian.marquardt/tutorials.8/8_dll.html</a></p>
<p>Wenn ich hier so einfach auf fremde Seiten verlinken darf... Bin mir aber sicher, Christian hat nichts dagegen.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544606</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jun 2004 05:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Mon, 21 Jun 2004 16:16:13 GMT]]></title><description><![CDATA[<p>ich habe mir das jetzt angeschaut, aber ich bekomme immernoch eine zugriffsverletzung.<br />
mein quelltext:</p>
<pre><code class="language-cpp">void (__stdcall* visit)(TCanvas*, float*, TColor);
float *spectrum[512];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  HINSTANCE hdll=LoadLibrary(&quot;Project2.dll&quot;);
  visit=(void(__stdcall*)(TCanvas*, float*, TColor))GetProcAddress(hdll,&quot;_visit&quot;);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  visit(Image1-&gt;Canvas, *spectrum, clAqua);
}
//---------------------------------------------------------------------------
</code></pre>
<p>in der dll:</p>
<pre><code class="language-cpp">void Vis1(TCanvas *canvas, float *spec, TColor col)
{
  canvas-&gt;Pen-&gt;Color = col;
  for(int i = 0; i &lt; 512; i++)
  {
      canvas-&gt;MoveTo(i, 300);
      canvas-&gt;LineTo(i, 300 - (spec[i]*300));
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/545094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545094</guid><dc:creator><![CDATA[nuclearspider]]></dc:creator><pubDate>Mon, 21 Jun 2004 16:16:13 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Mon, 21 Jun 2004 17:38:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">float *spectrum[512]; // muß das nicht float* spectrum = new float[512]; heißen?
visit(Image1-&gt;Canvas, *spectrum, clAqua); // muss das nicht (Image1-&gt;Canvas, spectrum, clAqua); heißen?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/545189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545189</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jun 2004 17:38:16 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Mon, 21 Jun 2004 19:19:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">visit(Image1-&gt;Canvas, *spectrum, clAqua);
</code></pre>
<p>[C++ Fehler] Unit1.cpp(24): E2034 Konvertierung von 'float * *' nach 'float *' nicht möglich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545274</guid><dc:creator><![CDATA[nuclearspider]]></dc:creator><pubDate>Mon, 21 Jun 2004 19:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to eine dll in ein TImage zeichenn lassen on Tue, 22 Jun 2004 05:12:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">float *spectrum[512]; 
float* spectrum = new float[512];  // meiner Meinung nach

visit(Image1-&gt;Canvas, *spectrum, clAqua); 
visit(Image1-&gt;Canvas, spectrum, clAqua); // den Zeiger übergeben, nicht die Werte (so wie beim Canvas auch)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/545427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545427</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jun 2004 05:12:09 GMT</pubDate></item></channel></rss>