<?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[Resourcedatei in dll einbinden]]></title><description><![CDATA[<p>Hallo,<br />
vielleicht könnt ihr mir helfen.<br />
Habe ein Problem an dem ich mittlerweile schon 2 Tage erfolglos dransitze.</p>
<p>Folgendes Problem:</p>
<p>Ich Compiliere ein Resoucedatei in eine dll.</p>
<p>.rc :</p>
<pre><code>STRINGTABLE
BEGIN

	1001   &quot;File&quot;;

END
</code></pre>
<p>Die dll erstelle ich mit dem dllwizzard und ändere auch nix am source, ausser das ich halt die .rc datei einbinde.</p>
<p>in der .exe versuche ich nun einfach die dll mit dem Compilierten String einzulesen.</p>
<p>Das mache ich wie folgt:</p>
<pre><code class="language-cpp">LoadLibrary(&quot;Project2.dll&quot;);
Button1-&gt;Caption = LoadStr(1001);
</code></pre>
<p>Wenn ich &quot;build with runtimepackages&quot; anklicke ( checkbox active ) funktioniert auch alles ( Button Caption zeigt &quot;File&quot; wie gewünscht ).</p>
<p>Wenn ich aber nun die checkbox deaktiviere um meine Anwendung &quot;weiterzugeben&quot; bleibt die Caption vom Button leer.</p>
<p>Hoffe ich habe mich einigermassen verständlich ausgedrückt.</p>
<p>Danke im Voraus ( &lt;= hehe ) für eure hilfe</p>
<p>gruss Sosi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/93805/resourcedatei-in-dll-einbinden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 13:33:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/93805.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Dec 2004 19:04:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Thu, 02 Dec 2004 19:04:40 GMT]]></title><description><![CDATA[<p>Hallo,<br />
vielleicht könnt ihr mir helfen.<br />
Habe ein Problem an dem ich mittlerweile schon 2 Tage erfolglos dransitze.</p>
<p>Folgendes Problem:</p>
<p>Ich Compiliere ein Resoucedatei in eine dll.</p>
<p>.rc :</p>
<pre><code>STRINGTABLE
BEGIN

	1001   &quot;File&quot;;

END
</code></pre>
<p>Die dll erstelle ich mit dem dllwizzard und ändere auch nix am source, ausser das ich halt die .rc datei einbinde.</p>
<p>in der .exe versuche ich nun einfach die dll mit dem Compilierten String einzulesen.</p>
<p>Das mache ich wie folgt:</p>
<pre><code class="language-cpp">LoadLibrary(&quot;Project2.dll&quot;);
Button1-&gt;Caption = LoadStr(1001);
</code></pre>
<p>Wenn ich &quot;build with runtimepackages&quot; anklicke ( checkbox active ) funktioniert auch alles ( Button Caption zeigt &quot;File&quot; wie gewünscht ).</p>
<p>Wenn ich aber nun die checkbox deaktiviere um meine Anwendung &quot;weiterzugeben&quot; bleibt die Caption vom Button leer.</p>
<p>Hoffe ich habe mich einigermassen verständlich ausgedrückt.</p>
<p>Danke im Voraus ( &lt;= hehe ) für eure hilfe</p>
<p>gruss Sosi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/664737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/664737</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Thu, 02 Dec 2004 19:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 09:28:08 GMT]]></title><description><![CDATA[<p>mhhh... keiner ne Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/664973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/664973</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 09:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 11:48:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie linkst du denn deine dll (statisch)?<br />
Ich arbeite viel mit Ressourcen dlls und hatte dabei auch noch nie Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665024</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 11:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 10:40:58 GMT]]></title><description><![CDATA[<p>jo... ich linke die statisch indem ich die .lib zum projekt hinzufüge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665034</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 10:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 11:54:17 GMT]]></title><description><![CDATA[<p>Dann bräuchtest du aber LoadLibrary nicht aufzurufen.<br />
Hast du den Rückgabewert von LoadLibrary mal überprüft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665072</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 11:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 12:42:43 GMT]]></title><description><![CDATA[<p>ja.. habe ich...</p>
<p>ist ein leerer string.</p>
<p>Komisch ist die Tatsache, dass es funktioniert wenn ich das Projekt mit &quot;build with runtimepackages&quot; kompiliere.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665116</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 12:42:43 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 12:45:40 GMT]]></title><description><![CDATA[<p>Ich meine LoadLibrary und nicht LoadStr. Die erstere Funktion würde ein Handle auf die geladene dll zurückgeben bzw. 0 wenn sie nicht geladen werden konnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665119</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 12:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 12:49:25 GMT]]></title><description><![CDATA[<p>erstmal danke für deine Antworten.</p>
<p>Ich habe bisher leider noch nichts mit dll's gemacht.</p>
<p>Kannst du mir evtl. mal ein Beisp. posten?</p>
<p>Bei LoadStr versucht das Programm doch sich die Resource aus der .exe zu ziehen falls vorhanden oder?</p>
<p>gruss<br />
Sosi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665122</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 12:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 13:14:00 GMT]]></title><description><![CDATA[<p>Warum packst du die Ressource überhaupt in eine dll? Du könntest deine rc-Datei ja auch direkt in das Hauptprojekt einbinden.<br />
Der Syntax deiner StringRessource sieht mir etwas merkwürdig aus, aber vielleicht gehts ja auch so.<br />
Bei mir würde das eher so aussehen</p>
<pre><code class="language-cpp">STRINGTABLE
{
    1001,   &quot;File&quot;
}
</code></pre>
<p>Ansosnsten gibts z.Bsp. hier <a href="http://bcb-tutorial.c-plusplus.net/inhalt.html#Thema8" rel="nofollow">http://bcb-tutorial.c-plusplus.net/inhalt.html#Thema8</a> ein Tutorial zu dlls.<br />
Auch auf der Seite von <a href="http://fatman98.fa.funpic.de/index.php" rel="nofollow">F98</a> ist noch eins.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665147</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 13:14:00 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 13:33:52 GMT]]></title><description><![CDATA[<p>Hallo Braunstein,</p>
<p>habe es eben anhand von deinem .rc Beispiel versucht. Beide (deine und meine) Syntaxversionen funktionieren. Allerdings nur solange bis ich &quot;build with runtimepackages&quot; aktiviert habe.</p>
<p>Der Sinn warum ich einen Ressourcefile in eine dll kompilieren möchte ist die Tatsache, dass ich eine Mehrsprachige Software entwickeln muss mit dem Ziel die Sprach-dll's dynamisch in das Projekt einzubinden.</p>
<p>Ich habe mir die Links die du gepostet hast auch schon angeschaut. Leider wird nirgendwo tatsächlich ein Beispiel angezeigt.</p>
<p>Mein Vorhaben bezgl. des einbindens einer .rc datei in eine dll datei scheint mir nicht grade eine Programmiertechnische Meisterleistung zu erfordern. Wie hast du das denn gelöst?</p>
<p>gruss Sosi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665164</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 13:33:52 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 13:45:23 GMT]]></title><description><![CDATA[<p>Eigentlich nicht viel anders.<br />
Ich habe mit dem dll-Experten ein Projekt angelegt und dort die rc-Datei eingebunden.<br />
Da ich normalerweise statisch linke war &quot;Importbibliothek erzeugen&quot; markiert.<br />
Die nach dem kompiliernen entstandene lib in das Hauptprojekt einfügen, die dll in das verzeichnis des Hauptprogramms kopieren und dann das Hauptprogamm kompilieren. Das wars.<br />
Ich linke meine Programme immer ohne dynamische RTL.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665172</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 13:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 13:55:21 GMT]]></title><description><![CDATA[<p>ok.... und wie hast du dann auf die Strings zugegriffen?</p>
<p>auch mit LoadStd()?</p>
<p>btw: hatte vorhin Müll erzählt....</p>
<p>Die dll wird in meiner .exe nicht mittels .lib eingebunden. Deshalb habe ich &quot;LoadLibrary&quot; benutzt.</p>
<p>Aber selbst bei &quot;Statisch gelinkt&quot; funktioniert es bei mir nicht.</p>
<p>Ich wiederhole mal ALLE Schritte:</p>
<p>1. Projekt mit dll-wizzard angelegt. Nix am enstandenen Source geändert oder hinzugefügt, ausser .rc file mit eingebunden. Dann Kompiliert.</p>
<p>2. Exe erzeugt, .lib NICHT eingebunden (weil ja Dynamisch).</p>
<p>3. Button auf ne Form plaziert.</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
LoadLibrary (&quot;Project2.dll&quot;);
Form1-&gt;Caption = LoadStr(1001);
}
</code></pre>
<p>das war es.</p>
<p>Wie gesagt, wenn ich &quot;build with runtimepackages&quot; aktiviere und das Programm dann kompiliere kunftioniert ALLES Perfekt.</p>
<p>Will aber mein Programm sozusagen weitergeben, also &quot;build with runtimepackages&quot; deaktivieren und dann kompiliren. Und genau daran hapert es.<br />
Bekomme dann einen leeren String geliefert.</p>
<p>Mir scheint &quot;LoadLibrary&quot; verhält sich einfach anders wenn man mit &quot;build with runtimepackages&quot; kompiliert.</p>
<p>Ich komme da nicht weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665180</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 13:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 14:22:08 GMT]]></title><description><![CDATA[<p>Ich denke mal, dass LoadStr nur bei statisch gelinkten dlls funktioniert.<br />
Bei dynamisch gelinkten Ressourcen-dlls (habe ich aber bisher nur für RCDATA gemacht) verwende ich die zugehörigen API-Funktionen. Also z.Bsp FindRessource etc. Für StringTables gibt es da LoadString.<br />
Also vielleicht so (ungetestet)</p>
<pre><code class="language-cpp">HINSTANCE hdll = LoadLibrary(&quot;Project2.dll&quot;);
     if( hdll == NULL )
     {
     // irgendeine Fehlerbehandlung
     }
     char *buffer = new char[100];
     int res = LoadString(hdll, 1001, buffer, 100);
     if( res == 0 )
     {
     // irgendeine Fehlerbehandlung
     } else Caption = buffer;
     delete[] buffer;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/665209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665209</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 03 Dec 2004 14:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to Resourcedatei in dll einbinden on Fri, 03 Dec 2004 14:32:31 GMT]]></title><description><![CDATA[<p>Danke Braunstein...</p>
<p>hast recht... so funktioniert es.</p>
<p>greetz<br />
Sosi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665216</guid><dc:creator><![CDATA[Sosi]]></dc:creator><pubDate>Fri, 03 Dec 2004 14:32:31 GMT</pubDate></item></channel></rss>