Konvertierung von 'unsigned short *' nach 'wchar_t *' nicht möglich
-
Hi,
habe mir die Funktion CreateShortcut aus http://www.c-plusplus.net/forum/topic,39361.html, das bringt mir nach ein paar nachbesserungen aber jetzt diesen Fehler: Konvertierung von 'unsigned short *' nach 'wchar_t *' nicht möglich
Da kommen dann noch ein paar andere, die aber vermutlich vom dem ersten stammen...Es geht um diesen Code
MultiByteToWideChar( CP_ACP, 0, pszLocation, -1, wsz, MAX_PATH); hr = pPersistFile->Save( wsz, TRUE ); hr = pPersistFile->SaveCompleted( wsz );
Und Jetzt das ganze mal auseinander genommen mit Fehler:
Code:
MultiByteToWideChar( CP_ACP, 0, pszLocation, -1, wsz, MAX_PATH);
Fehler:
E2034 Konvertierung von 'unsigned short *' nach 'wchar_t *' nicht möglich E2342 Keine Übereinstimmung des Typs beim Parameter 'lpWideCharStr' ('wchar_t *' erwartet, 'unsigned short *' erhalten)
Code:
hr = pPersistFile->Save( wsz, TRUE );
Fehler:
E2034 Konvertierung von 'unsigned short *' nach 'const wchar_t *' nicht möglich E2342 Keine Übereinstimmung des Typs beim Parameter 'pszFileName' ('const wchar_t *' erwartet, 'unsigned short *' erhalten)
Code:
hr = pPersistFile->SaveCompleted( wsz );
Fehler:
E2034 Konvertierung von 'unsigned short *' nach 'const wchar_t *' nicht möglich E2342 Keine Übereinstimmung des Typs beim Parameter 'pszFileName' ('const wchar_t *' erwartet, 'unsigned short *' erhalten)
Wie bekomme ich das jetzt zum laufen?
Hab weder was im Forum, noch im I-Net noch in der Hilfe gefunden, was mir geholfen hat.
Bisher zumindestMfG ViperT
PS: wsz ist als WORD deklariert.
PS2: Ich dachte eigentlich nicht das das hier ins WinAPI Forum kommt, weil es ja nicht um die Api, sondern um ein C++ Fehler geht... Aber wenn ihr meint, dass es da hin gehört: Bitte verschieben!
-
kusch, ab ins Win32 API Forum
-
Wenn WORD nicht als unsigned short definiert ist, ist das schuld an dem Fehler
Versuch vllt. mal ein
hr = pPersistFile->Save( reinterpret_cast< wchar_t *>(wsz), TRUE );
-
SirLant schrieb:
Wenn WORD nicht als unsigned short definiert ist, ist das schuld an dem Fehler
Wie soll ich WORD denn als unsigned short deklarieren???
SirLant schrieb:
Versuch vllt. mal ein
hr = pPersistFile->Save( reinterpret_cast< wchar_t *>(wsz), TRUE );Das mit dem reinterpret_cast funzt soweit, doch was mache ich mit:
MultiByteToWideChar( CP_ACP, 0, pszLocation, -1, wsz, MAX_PATH);
Weis grad irgentwie nichtmal wie der Befehl arbeitet?!
Inner Borland Hilfe steht der irgentwie net drin...
-
Hallo,
Die Funktion ist ja auch von Microsoft. Schau doch mal hier http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_17si.asp
Ciao
-
Habs jetzt so gemacht:
MultiByteToWideChar( CP_ACP, 0, pszLocation, -1, reinterpret_cast< wchar_t *>(wsz), MAX_PATH); //hr = pPersistFile->Save( wsz, TRUE ); //hr = pPersistFile->SaveCompleted( wsz ); hr = pPersistFile->Save( reinterpret_cast< wchar_t *>(wsz), TRUE ); hr = pPersistFile->SaveCompleted( reinterpret_cast< wchar_t *>(wsz) );
bigthx an SirLant
funzt jetzt wunderbar.
Nur kann mir noch einer sagen, wie ich %userprofile% auflösen kann?
Da gabs doch mal was mit SpecialFolder oder so ähnlich....MfG ViperT
-
siehe SHGetSpecialFolderLocation
Bitte frag doch sowas im WinAPI Forum.
-
Is gut sorry...
Werd nächstemal direkt da fragen wo ich her hab.
trotzdem thx, hatte es schon gefunden gehapt.
MfG ViperT