<?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 Strings]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>und zwar hab ich eine mit einem MFC-Projekt geschriebene Dll, welche eine Funktion zur Verfügung stellt, welche 4 char* (quasi Strings) Variablen übergeben bekommt.</p>
<p>Funktionsprototyp:</p>
<pre><code class="language-cpp">BOOL __declspec(dllexport) __stdcall CreateCSkript (char* BackupBlockName, char* PrgName, char* ProjName, char* ProjDir)
</code></pre>
<p>Die Funktion rufe ich aber aus einem VB-Projekt auf. Das sieht dann wie folgt aus:</p>
<pre><code class="language-cpp">Ret = myCreateCSkript(&quot;Backup/RUECK&quot;, &quot;Prg&quot;, &quot;C:\\Ralf\\OS(1)\\OS(1).mcp&quot;, &quot;C:\\Ralf\\OS(1)\\PAS\\&quot;)
</code></pre>
<p>Es kommt folgender Fehler:</p>
<p>Debug Assertion Failed!</p>
<p>Programm: *hier kommt dann der Pfad meiner .exe*<br />
File: strex.cpp<br />
Line: 699</p>
<p>Da das angegebene .cpp-File das File ist mit dem mit CStrings gearbeitet wird, denk ich, daß das Problem daran liegt, daß VB-Strings eine andere Formatierung haben, als in VC++.</p>
<p>Kann mir jemand sagen, wie ich das zum Laufen bekomme?</p>
<p>Vielen Dank für euere Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149589/problem-mit-strings</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 00:06:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149589.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Jun 2006 14:02:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Strings on Wed, 07 Jun 2006 14:02:45 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>und zwar hab ich eine mit einem MFC-Projekt geschriebene Dll, welche eine Funktion zur Verfügung stellt, welche 4 char* (quasi Strings) Variablen übergeben bekommt.</p>
<p>Funktionsprototyp:</p>
<pre><code class="language-cpp">BOOL __declspec(dllexport) __stdcall CreateCSkript (char* BackupBlockName, char* PrgName, char* ProjName, char* ProjDir)
</code></pre>
<p>Die Funktion rufe ich aber aus einem VB-Projekt auf. Das sieht dann wie folgt aus:</p>
<pre><code class="language-cpp">Ret = myCreateCSkript(&quot;Backup/RUECK&quot;, &quot;Prg&quot;, &quot;C:\\Ralf\\OS(1)\\OS(1).mcp&quot;, &quot;C:\\Ralf\\OS(1)\\PAS\\&quot;)
</code></pre>
<p>Es kommt folgender Fehler:</p>
<p>Debug Assertion Failed!</p>
<p>Programm: *hier kommt dann der Pfad meiner .exe*<br />
File: strex.cpp<br />
Line: 699</p>
<p>Da das angegebene .cpp-File das File ist mit dem mit CStrings gearbeitet wird, denk ich, daß das Problem daran liegt, daß VB-Strings eine andere Formatierung haben, als in VC++.</p>
<p>Kann mir jemand sagen, wie ich das zum Laufen bekomme?</p>
<p>Vielen Dank für euere Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073205</guid><dc:creator><![CDATA[Michael Night]]></dc:creator><pubDate>Wed, 07 Jun 2006 14:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings on Thu, 08 Jun 2006 07:07:57 GMT]]></title><description><![CDATA[<p>Gegenfrage: Welche Assertion hat denn angeschlagen? (sprich: Wo kommst du heraus, wenn du nach der Meldung den Debugger anwirfst? Und über welchen der Strings beschwert sich dein Programm?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073592</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Jun 2006 07:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings on Thu, 08 Jun 2006 07:46:08 GMT]]></title><description><![CDATA[<p>Da kann ich leider nicht viel zu sagen, weil wenn ich die dll debugge, dann funktioniert alles prima.</p>
<p>Ich konnte das Problem ein bischen eingrenzen: Der Fehler kommt nicht, wenn ich das Programm aus dem Visual Studio starte (6.0). Er kommt wenn ich es von außerhalb starte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073620</guid><dc:creator><![CDATA[Michael Night]]></dc:creator><pubDate>Thu, 08 Jun 2006 07:46:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings on Thu, 08 Jun 2006 07:58:37 GMT]]></title><description><![CDATA[<p>Ich weiß nicht, wie die Strings in VB gespeichert werden, auf C(++) Seite ist ein Strinng auf jeden Fall eine nullterminierte Zeichenkette (d.h. &quot;Hallo&quot; besteht aus den Elementen 'H','a','l','l','o','\0').</p>
<p>Wenn dein externes Programm sich nicht an diese Konvention hält, liest C++ so lange weiter im Speicher, bis es zufällig auf einen \0 Wert stößt (und zählt den ganzen Datenmüll bis dorthin mit zum String) oder den eigenen Speicher verlässt (BUMM). Du könntest ja mal zu Testzwecken nachsehen, was in deinem String ankommt, wenn du ihn von VB aus übergeben bekommst:</p>
<pre><code class="language-cpp">void __declspec(dllexport) __stdcall test(char* str,int len)
{
  ofstream out(&quot;test.txt&quot;);
  for(int i=0;i&lt;=len;++i)
    out&lt;&lt;i&lt;&lt;&quot;:\t&quot;&lt;&lt;str[i]&lt;&lt;&quot; &quot;&lt;&lt;(int)str[i]&lt;&lt;&quot;\n&quot;;
}
</code></pre>
<p>(^^ was steht in der Ausgabedatei, wenn VB diese Funktion als 'test(&quot;Hallo&quot;,5)' aufruft?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073631</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Jun 2006 07:58:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings on Thu, 08 Jun 2006 08:02:31 GMT]]></title><description><![CDATA[<p>Habe gerade herausgefunden, daß die Strings richtig übergeben werden.</p>
<p>Das Problem scheint wirklich nur daran zu liegen, daß meine Funktionalität in der dll nur funktioniert, wenn das Visual Studio offen ist.</p>
<p>Woran könnte das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073634</guid><dc:creator><![CDATA[Michael Night]]></dc:creator><pubDate>Thu, 08 Jun 2006 08:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings on Thu, 08 Jun 2006 08:42:22 GMT]]></title><description><![CDATA[<p>Problem gelöst.</p>
<p>Die ganze Sch.... lag daran, daß ich meine dll nicht im Release-Modus compiliert habe.</p>
<p>Danke für deine Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073661</guid><dc:creator><![CDATA[Michael Night]]></dc:creator><pubDate>Thu, 08 Jun 2006 08:42:22 GMT</pubDate></item></channel></rss>