WritePrivateProfileString() - Problem
-
Hallo,
Ich habe eine Windows-Forms Anwendung geschrieben (C++/Visual Studio 200) und würde nun gerne Einstellungen daraus in einer .ini speichern.
Dazu benutze ich folgenden Code:
#include <windows.h> int main () { String^ directory = Application::StartupPath + "\\settings.ini";//Get Application-Path WritePrivateProfileString("MAIN", "Eintrag1", "Wert1", directory); return 0; }
Das Problem ist aber, dass mein Compiler mir dann folgende Errors ausspuckt:
error C2664: 'WritePrivateProfileStringW': Konvertierung des Parameters 1 von 'const char [8]' in 'LPCWSTR' nicht möglich error C2664: 'WritePrivateProfileStringW': Konvertierung des Parameter... error C2664: 'WritePrivateProfileStringW': Konvertierung des Parameters 4 von 'System::String ^' in 'LPCWSTR' nicht möglich
Ich hoffe, ihr könnt mir ein wenig weiterhelfen,
echo<delta>
-
Sehe gerade, dass ich bei Visual Studio 2008 die 8 vergessen habe.
Mfg, echo<delta>
-
Mische bitte nicht C/C++ und C++/CLI; das führt nur zu Verwirrung!
Bei WinAPI gibt man String-Literale mit _T oder TEXT an...
WritePrivateProfileString(_T("MAIN"), _T("Eintrag1"), _T("Wert1"), (LPCTSTR) StringConvT(directory));
Für String-Konvertierung von String nach ... siehe:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1455833.html#1455833
-
Danke für deine Antwort.
Geht jetzt alles, außer StringConvT.
error C3861: "StringConvT": Bezeichner wurde nicht gefunden.
Was muss ich für "StringConvT" includen?
Ist tchar.h eigentlich für LPCTSTR?
#include <tchar.h>
Mfg, echo<delta>
-
-
Ja, schon klar...
Aber wie soll ich das jetzt umsetzten?
Ich habe erst vor kurzem angefangen
Mfg, echo<delta>
-
error C3861: "IntPtr": Bezeichner wurde nicht gefunden.
Das ist mein Hauptproblem, leider...
Mfg, echo<delta>
-
Weißt du, wie ich double oder int-Werte in
const wchar_t*
mit der marshal_as Library umwandeln kann?
Mfg, echo<delta>
-
12::ToString()
double d = 1.2; d.ToString();
wchar_t buf[100]; wsprintf(bug, "%d", 12);
-
Super, danke! Jetzt funktioniert alles
Greets echo<delta>
-
Nochwas: Warum muss ich das eigentlich so umständlich konvertiern (z.B. mit marshal_as-Lib.)?
Andere schaffen das scheinbar auch anders: http://www.tsql.de/c_plus_plus/cpp_ini_file_datei_schreiben.php
Mfg, echo<delta>
-
Würd mich auch mal interessiern oO
-
Würd mich auch mal interessiern oO
Ich meinte die Frage eigentlich ernst!
Mfg, echo<delta>
-
echo<delta> schrieb:
Nochwas: Warum muss ich das eigentlich so umständlich konvertiern (z.B. mit marshal_as-Lib.)?
Weil Du kein C/C++ verwendest sondern dieses mit C++/CLI mischt !?
-
Und wie kann ich das bewerkstelligen, ohne die beiden zu mischen?
Ich bin jetzt echt ratlos...schade..
Mfg, echo<delta>
-
Erstelle ein WinAPI-Programm und kein CLR-Program!
-
Lach jetzt bitte nicht über mich,
aber ich finde das in VS2008 Pro nichtMfg echo<delta>
-
Die Win32-API (auch als Windows-API bekannt),[...]
HAt sich erledigt..