Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Bu1

Frischling

  • »Bu1« ist der Autor dieses Themas

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

1

23.02.2011, 17:00

Konvertierung von const char in LPCWSTR nicht möglich

Hi,
ich bin gerade dabei das Buch durchzuarbeiten. Wenn ich ein Beispiel von der CD neu erstelle zeigt mir der Kompiler keine Fehler an und die Programme funktionieren problemlos. Wenn ich aber die Beispiele selber schreibe zeigt mit der Kompiler folgende Fehler:

Zitat

1>------ Neues Erstellen gestartet: Projekt: TriBase-Init_Test_01, Konfiguration: Debug Win32 ------
1>Die Zwischen- und Ausgabedateien für das Projekt "TriBase-Init_Test_01" mit der Konfiguration "Debug|Win32" werden gelöscht.
1>Kompilieren...
1>Direct3DEnum.cpp
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(810) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [233]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(829) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [251]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(849) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [262]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(866) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [495]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(883) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [178]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(899) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [444]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(914) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [230]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(922) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [212]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(929) : error C2664: 'SetDlgItemTextW': Konvertierung des Parameters 3 von 'const char [405]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(935) : error C2440: 'Initialisierung': 'const char [18]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(936) : error C2440: 'Initialisierung': 'char [256]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(936) : error C2440: 'Initialisierung': 'const char [21]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(938) : error C2440: 'Initialisierung': 'const char [5]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(954) : error C2440: 'Initialisierung': 'const char [35]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(955) : error C2440: 'Initialisierung': 'char [256]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(955) : error C2440: 'Initialisierung': 'const char [17]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\direct3denum.cpp(957) : error C2440: 'Initialisierung': 'const char [5]' 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>InitDirect3D.cpp
1>InitWindow.cpp
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\initwindow.cpp(23) : error C2440: 'Initialisierung': 'const char [16]' 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>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\initwindow.cpp(50) : error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [16]' 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.
1>d:\users\burkhard\documents\c++\cd\beispiele\allgemeines\initwindow.cpp(67) : error C2664: 'UnregisterClassW': Konvertierung des Parameters 1 von 'const char [16]' 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.
1>TriBase-Init_Test_01.cpp
1>Code wird generiert...
1>Das Buildprotokoll wurde unter "file://d:\Arbeitsbereich\C++\3D-DirektX\Test\TriBase-Init_Test_01\TriBase-Init_Test_01\Debug\BuildLog.htm" gespeichert.
1>TriBase-Init_Test_01 - 20 Fehler, 0 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========
:cursing:

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

23.02.2011, 17:02

Lösung: In den Projekteigenschaften unter Allgemein > Character Set auf Not Set stellen um UNICODE abzuschalten...

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

3

23.02.2011, 17:02

Du musst den Zeichensatz in den Projekt-Eigenschaften auf Multibyte umstellen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

23.02.2011, 17:08

Ich würd ihn auf Not Set stellen da Multibyte was andres ist ;)

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

5

23.02.2011, 17:16

Was für einen Unterschied macht das? Funktionieren tut es auf jeden Fall ^^

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

23.02.2011, 17:18

Was für einen Unterschied macht das?

Der Unterschied liegt in den Präprozessor Makros die damit automatisch definiert werden. Unicode definiert _UNICODE und UNICODE Multibyte definiert _MBCS und Not Set definiert eben nichts. Funktionieren tut es weil du wohl Glück hast und nichts benutzt auf das _MBCS Einfluss hätte ;)

Bu1

Frischling

  • »Bu1« ist der Autor dieses Themas

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

7

23.02.2011, 17:36

Danke an alle :!:
Jetzt funktionierts. :D

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

8

31.05.2012, 14:44

Vielen Dank, die Antwort hat mir ebenfalls geholfen :)

Werbeanzeige