<?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[Probleme mit Parameterübergabe]]></title><description><![CDATA[<p>Hi,<br />
ich hoffe, mit meiner Frage, diesmal im richtigen Forum zu sein!<br />
Nach umfangreicher Suche und Fragerei habe ich folgendes ungelöstes Problem:</p>
<p>extern &quot;C&quot; __declspec( dllexport ) int QtTestINI_write(char bla[255])<br />
{<br />
int r;<br />
r = WritePrivateProfileString((bla, TEXT(&quot;EinPfad&quot;), TEXT(&quot;huhu&quot;), TEXT(&quot;c:\\test.ini&quot;));<br />
return(r);<br />
}<br />
Es geht hier nicht um WritePrivateProfileString sondern um die Parameterübergabe für den Parameter bla!<br />
Der Übergabetyp,in meiner Funktion, steht nicht fest habs nur mit char bla[255] probiert.<br />
WritePrivateProfileString erwartet ein wchar. Wie kann ich meinen Übergabeparameter so konvertieren, dass das passt.</p>
<p>Grüsse<br />
Rainer</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256683/probleme-mit-parameterübergabe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 04:39:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256683.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Dec 2009 12:59:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 13:01:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich hoffe, mit meiner Frage, diesmal im richtigen Forum zu sein!<br />
Nach umfangreicher Suche und Fragerei habe ich folgendes ungelöstes Problem:</p>
<p>extern &quot;C&quot; __declspec( dllexport ) int QtTestINI_write(char bla[255])<br />
{<br />
int r;<br />
r = WritePrivateProfileString((bla, TEXT(&quot;EinPfad&quot;), TEXT(&quot;huhu&quot;), TEXT(&quot;c:\\test.ini&quot;));<br />
return(r);<br />
}<br />
Es geht hier nicht um WritePrivateProfileString sondern um die Parameterübergabe für den Parameter bla!<br />
Der Übergabetyp,in meiner Funktion, steht nicht fest habs nur mit char bla[255] probiert.<br />
WritePrivateProfileString erwartet ein wchar. Wie kann ich meinen Übergabeparameter so konvertieren, dass das passt.</p>
<p>Grüsse<br />
Rainer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823460</guid><dc:creator><![CDATA[r2009]]></dc:creator><pubDate>Wed, 16 Dec 2009 13:01:38 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 13:20:13 GMT]]></title><description><![CDATA[<p>Die Funktion mbstowcs <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/mbstowcs/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstdlib/mbstowcs/</a> könnte dir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823476</guid><dc:creator><![CDATA[ihoernchen]]></dc:creator><pubDate>Wed, 16 Dec 2009 13:20:13 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 13:23:08 GMT]]></title><description><![CDATA[<p>FAQ lesen: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39492.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39492.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823478</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 16 Dec 2009 13:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 13:57:15 GMT]]></title><description><![CDATA[<p>r2009 schrieb:</p>
<blockquote>
<p>Hi,<br />
ich hoffe, mit meiner Frage, diesmal im richtigen Forum zu sein!</p>
</blockquote>
<p>Du hast Probleme mit der Programmierung der WinAPI, da ist das WinAPI-Forum definitiv der bessere Ort für.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823502</guid><dc:creator><![CDATA[loks]]></dc:creator><pubDate>Wed, 16 Dec 2009 13:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 14:12:01 GMT]]></title><description><![CDATA[<p>nee loks,<br />
diese Diskussion hatten wir schon. Hier gehts um einen puren Typecast sonst nichts.<br />
Das hat absolut nichts mit winapi zu tun sondern nur mit C oder C++</p>
<p>Grüsse<br />
Rainer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823515</guid><dc:creator><![CDATA[r2009]]></dc:creator><pubDate>Wed, 16 Dec 2009 14:12:01 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Wed, 16 Dec 2009 14:21:34 GMT]]></title><description><![CDATA[<p>r2009 schrieb:</p>
<blockquote>
<p>nee loks,<br />
diese Diskussion hatten wir schon. Hier gehts um einen puren Typecast sonst nichts.</p>
</blockquote>
<p>Und char und wchar sind nunmal 2 Paar Schuhe, du kannst nicht Äpfel in Birnen durch hartes konvertieren des Zeigers erreichen. Deine Problematiken liegen aber in 2 Dingen:</p>
<p>r2009 schrieb:</p>
<blockquote>
<p>Das hat absolut nichts mit winapi zu tun sondern nur mit C oder C++</p>
</blockquote>
<p>1. Dir fehlt ein gewisses Basisverständnis zu Konvertierungen und Datentypen.<br />
2. Die WindowsAPI hat sehr wohl damit zu tun. Ob die Unicode- oder ANSI-Variante des Makros &quot;WritePrivateProfileString&quot; (Den es ist keine Funktion sondern ein Makro das zwischen 2 Funktionen auswählt) gewählt wird, hängt auch von deinen Projekteinstellungen etc. ab. Und du solltest dich grundsätzlich mit der WinAPI beschäftigen um dies zu verstehen.</p>
<p>Deine Frage gehört jedenfalls deutlich eher in das WinAPI, als in das ANSI C++ Forum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823523</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 16 Dec 2009 14:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Thu, 17 Dec 2009 05:29:33 GMT]]></title><description><![CDATA[<p>OK Leute,<br />
mir reicht das jetzt. Dieses Forum ist nichts für mich.</p>
<p>Ich habe von vorneherein gesagt, dass ich professioneller Delphi Entwickler bin und noch nie etwas mit C++ zu tun hatte.</p>
<p>Anstatt sich auf Lösungen zu konzentrieren wird hier nur rumlamtiert wo was hin soll. Ausser persönliche Angriffe und sehr nahe an Beleidigungen gehende Bemerkungen hab ich hier nichts konstruktives gesehen.</p>
<p>Grüsse und Tschüss<br />
Rainer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823822</guid><dc:creator><![CDATA[r2009]]></dc:creator><pubDate>Thu, 17 Dec 2009 05:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Thu, 17 Dec 2009 06:27:41 GMT]]></title><description><![CDATA[<p>r2009 schrieb:</p>
<blockquote>
<p>professioneller Entwickler</p>
</blockquote>
<p>rofl, dann benimm Dich wien Profi und hör zu wenn Leute, die deutlich mehr Ahnung von der Materie haben Dir helfen wollen.</p>
<p>r2009 schrieb:</p>
<blockquote>
<p>nichts konstruktives gesehen.</p>
</blockquote>
<p>Erster Antwort-Post link auf die Lösung<br />
Zweiter Antwort-Post link auf eine alternative Lösung</p>
<p>loks schrieb:</p>
<blockquote>
<p>r2009 schrieb:</p>
<blockquote>
<p>Hi,<br />
ich hoffe, mit meiner Frage, diesmal im richtigen Forum zu sein!</p>
</blockquote>
<p>Du hast Probleme mit der Programmierung der WinAPI, da ist das WinAPI-Forum definitiv der bessere Ort für.</p>
</blockquote>
<p><strong>DU</strong> hast gefragt, ich habe darauf geantwortet. Was bitte ist daran unkonstruktiv oder beleidigend?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823827</guid><dc:creator><![CDATA[loks]]></dc:creator><pubDate>Thu, 17 Dec 2009 06:27:41 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Parameterübergabe on Thu, 17 Dec 2009 14:15:18 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Lösung (mit QT4 geschrieben):<br />
Die Kollegen der Delphi-Praxis haben mir ganz schnell und unkonventionell geholfen.<br />
Damit nicht nocheinmal jemand auf diese Typecastsch.. reinfällt hier ein Stück Code aus der man ersehen kann wie das Problem gelöst werden kann.<br />
wtoc und wtoci habe ich selbst geschrieben (nach einer Vorlage aus dem Internet).<br />
Das Teil soll eine DLL und aus Delphi heraus benutzt werden.<br />
Achtung: diese Funktionen sind so modifiziert, dass Pascal-Strings übergeben werden können.<br />
Pascal Strings speichern ihre Länge im ersten Byte, danach folgt der eigentliche String.<br />
Sicher gibt es hier den einen oder anderen der das besser kann.<br />
Würde mich freuen wenn das jemand optimieren könnte. Ich bin gerne bereit den Delphi Code zur Verfügung zu stellen.</p>
<pre><code>struct MyStruct
{
  char TestA[101];
  char TestB[101];
  char TestC[101];
  char TestD[101];
  int NumA;
  int NumB;
  int NumC;
char const* str;

void wtoc(char* Dest, TCHAR* Source, int SourceSize) 
{ 
    for(int i = 0; i &lt; SourceSize; ++i) 
    Dest[i+1] = (char)Source[i]; 
    Dest[0]  = char(SourceSize); 
} 

void wtoci(TCHAR* Dest,char* Source,  int SourceSize) 
{ 
    for(int i = 0; i &lt; SourceSize; ++i) 
    Dest[i] = (char)Source[i+1]; 
} 

extern &quot;C&quot; __declspec( dllexport ) int QtTestINI_read(struct MyStruct *strct) 
{ 
    int r; 
    TCHAR Test[255]; 
    TCHAR Sektion[101]; 
    TCHAR Steuerwort[101]; 
    TCHAR Pfad[101]; 
    INT destSize=100; 
    wtoci(Sektion,strct-&gt;TestA,sizeof(strct-&gt;TestA)); 
    wtoci(Steuerwort,strct-&gt;TestB,sizeof(strct-&gt;TestB)); 
    wtoci(Pfad,strct-&gt;TestD,sizeof(strct-&gt;TestD)); 

    r = GetPrivateProfileString(Sektion,Steuerwort,TEXT(&quot;HUHU&quot;),Test,destSize,Pfad); 
    wtoc(strct-&gt;TestA,Test,sizeof(Test)); 
    return(r); 
} 

extern &quot;C&quot; __declspec( dllexport ) int QtTestINI_write(struct MyStruct *strct) 
{ 
    int r; 
    TCHAR Inhalt[101]; 
    TCHAR Sektion[101]; 
    TCHAR Steuerwort[101]; 
    TCHAR Pfad[101]; 

    wtoci(Inhalt,strct-&gt;TestC,sizeof(strct-&gt;TestC)); 
    wtoci(Sektion,strct-&gt;TestA,sizeof(strct-&gt;TestA)); 
    wtoci(Steuerwort,strct-&gt;TestB,sizeof(strct-&gt;TestB)); 
    wtoci(Pfad,strct-&gt;TestD,sizeof(strct-&gt;TestD)); 
    r = WritePrivateProfileString(Sektion, Steuerwort, Inhalt, Pfad); 
    return(r); 
}
</code></pre>
<p>Rainer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823989</guid><dc:creator><![CDATA[r2009]]></dc:creator><pubDate>Thu, 17 Dec 2009 14:15:18 GMT</pubDate></item></channel></rss>