ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1541
1541
EMPFEHLEN
-
Hallo,
Ich habe einen "Datei Öffnen Dialog" (Sample von MSDN) - der soweit auch funktioniert - aber es gibt ein Problem.
Der Code sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
OPENFILENAME ofn; // common dialog box structure char szFile[260]; // buffer for file name HWND hwnd; // owner window HANDLE hf; // file handle // Initialize OPENFILENAME ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwnd; ofn.lpstrFile = szFile; // Set lpstrFile[0] to '\0' so that GetOpenFileName does not // use the contents of szFile to initialize itself. ofn.lpstrFile[0] = '\0'; ofn.nMaxFile = sizeof(szFile); ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0"; ofn.nFilterIndex = 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; // Display the Open dialog box. if (GetOpenFileName(&ofn)==TRUE) hf = CreateFile(ofn.lpstrFile, GENERIC_READ, 0, (LPSECURITY_ATTRIBUTES) NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL);
soweit so gut...nur Compiliren geht nicht.
Hier der Log:
Das tolle ist, wenn ich das ganze mit MinGW compilire (mit Dev-c++) gehts.1>------ Erstellen gestartet: Projekt: voktrain, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>voktrain.cpp
1>c:\users\ed0x\documents\visual studio 2008\projects\voktrain\voktrain\voktrain.cpp(162) : error C2440: '=': 'char [260]' kann nicht in 'LPWSTR' konvertiert werden
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>c:\users\ed0x\documents\visual studio 2008\projects\voktrain\voktrain\voktrain.cpp(167) : error C2440: '=': 'const char [20]' kann nicht in 'LPCWSTR' konvertiert werden
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>Das Buildprotokoll wurde unter "file://c:\Users\ed0x\Documents\Visual Studio 2008\Projects\voktrain\voktrain\Debug\BuildLog.htm" gespeichert.
1>voktrain - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Hab ich eine falsche einstellung?
PS:
Ich hab auch schon anstatt
char szFile[260];
PTSTR szFile[260];
probiert...
geht aber auch nicht.
Ich hoffe mir kann geholfen werden...
Achja..in sachen WinApi bin ich noch Neuling...damit hab ich nicht so viel erfahrung....
-
Hallo,
dein Projekt verwendet vermutlich den Unicode-Zeichensatz, allerdings verwendest du keine Unicode-Datentypen. Benutze wchar_t statt char und stelle Zeichenkettenkonstanten ein L voran oder ändere in den Projekteigenschaften den Zeichensatz auf Multi-Byte.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
okay, ich hab jetzt
char szFile[210]; // buffer for file name
nach
WCHAR szFile[MAX_PATH]; // buffer for file name
geändert
und hab
if (GetOpenFileName(&ofn)==TRUE)
MessageBox(0, &szFile,"",MB_OK);
aber etz bekomm ich
error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'WCHAR (*)[260]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
-
Lass den &-Operator weg, den brauchst du hier nicht.
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
okay, funktioniert soweit alles super...
danke...
kann geclosed werden
Ähnliche Themen
-
[WinApi] Listbox probleme
Von Franklyn84 im Forum C/C++Antworten: 3Letzter Beitrag: 08.04.07, 21:06 -
Über GetOpenFileName
Von Nabi im Forum C/C++Antworten: 3Letzter Beitrag: 26.09.06, 16:04 -
WinApi child Sync.probleme
Von dark80 im Forum C/C++Antworten: 6Letzter Beitrag: 02.08.06, 14:38 -
[WinApi] Probleme mit capCreateWindow
Von Tobias K. im Forum C/C++Antworten: 0Letzter Beitrag: 22.03.05, 18:03 -
WinApi: Wat macht denn die GetModuleHandle()?
Von Snuggles79 im Forum C/C++Antworten: 2Letzter Beitrag: 23.02.05, 15:17





Zitieren

Login






