<?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[String Ausgabe einer Delphi DLL]]></title><description><![CDATA[<p>Hallo an alle im Forum</p>
<p>ich habe ein kleines Problem mit der Ausgabe eines Strings vom Typ PChar<br />
und zwar habe ich mit delphi eine kleine DLL geschrieben die mir einen String vom Typ PChar ausgibt.</p>
<p>Mit Delphi funktioniert es einwandfrei doch mit dem BCB hab ich so meine Schwierigkeiten.</p>
<p>Hier gibt er mir eine Reihe unbekannter Zeichen aus warum ??</p>
<p>QuellCode</p>
<pre><code class="language-cpp">void __stdcall Test(){

TTest * pTest = 0;

HINSTANCE h = LoadLibrary(&quot;Test.dll&quot;);
if(h)
{
  pTest = (TTest*)GetProcAddress(h, &quot;VName&quot;);
  if(pTest)
  {
  Form1-&gt;ListBox1-&gt;Items-&gt;Add(PChar(pTest));

  }
  FreeLibrary(h);
}

}
</code></pre>
<p>und im Header</p>
<pre><code class="language-cpp">typedef void (__stdcall *TTest)();
</code></pre>
<p>wer kann mir ein paar Tips geben , bin schon langsam am verzweifeln <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="😞"
    /></p>
<p>Bin über jeden Tip dankbar</p>
<p>Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182744/string-ausgabe-einer-delphi-dll</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 21:02:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182744.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 May 2007 18:18:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String Ausgabe einer Delphi DLL on Mon, 28 May 2007 18:18:20 GMT]]></title><description><![CDATA[<p>Hallo an alle im Forum</p>
<p>ich habe ein kleines Problem mit der Ausgabe eines Strings vom Typ PChar<br />
und zwar habe ich mit delphi eine kleine DLL geschrieben die mir einen String vom Typ PChar ausgibt.</p>
<p>Mit Delphi funktioniert es einwandfrei doch mit dem BCB hab ich so meine Schwierigkeiten.</p>
<p>Hier gibt er mir eine Reihe unbekannter Zeichen aus warum ??</p>
<p>QuellCode</p>
<pre><code class="language-cpp">void __stdcall Test(){

TTest * pTest = 0;

HINSTANCE h = LoadLibrary(&quot;Test.dll&quot;);
if(h)
{
  pTest = (TTest*)GetProcAddress(h, &quot;VName&quot;);
  if(pTest)
  {
  Form1-&gt;ListBox1-&gt;Items-&gt;Add(PChar(pTest));

  }
  FreeLibrary(h);
}

}
</code></pre>
<p>und im Header</p>
<pre><code class="language-cpp">typedef void (__stdcall *TTest)();
</code></pre>
<p>wer kann mir ein paar Tips geben , bin schon langsam am verzweifeln <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="😞"
    /></p>
<p>Bin über jeden Tip dankbar</p>
<p>Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1293982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1293982</guid><dc:creator><![CDATA[D.Schmidt]]></dc:creator><pubDate>Mon, 28 May 2007 18:18:20 GMT</pubDate></item><item><title><![CDATA[Reply to String Ausgabe einer Delphi DLL on Mon, 28 May 2007 21:56:23 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Was erwartest du denn?<br />
- Du definierst einen Funktionspointer der a. keinen Rückgabewert hat und b. keinen Parameter besitzt. Wo soll da eine Zeichenkette herkommen?<br />
- Du lädst aus der Datei eine Funktion aber anstatt die (immer noch nichts zurückgebende) Funktion aufzurufen willst du die Adresse dieser Funktion als eine Zeichenkette an den AnsiString-Konstruktor übergeben.<br />
Da brauchst du dich nicht zu wundern wenn du nur Unsinn rausbekommst.</p>
<p>Ich weiß jetzt nicht ob und wie globale exportierte Variablen aus DLLs geladen werden können. Aber vermutlich wäre es viel einfacher und sinnvoller anstelle der exportierten Variable eine eigene Funktion zu exportieren, die nichts weiter macht als die interne Variable zurückzugeben. Und schon kannst du wie gewohnt eine Funktion laden und bekommst mit dem Aufruf einen sinnvollen Wert.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1294099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1294099</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 28 May 2007 21:56:23 GMT</pubDate></item></channel></rss>