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

1

17.07.2006, 18:25

const char[] -> LPCWSTR

huhu,

komischerweise bekomm ich wenn ich dieses tutorial kompiliere ziemlich viele fehlermeldungen, dass in der MessageBoxW funktion const char nicht nach LPCWSTR konvertiert werden kann. allerdings is der code extra für visual net optimiert worden. bin ich zu blöd oder muss ich das jetzt alles explizit casten?

http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=09

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

2

17.07.2006, 18:34

Also bitte leute verwendet mal die Forumsuche... Das wurde jetzt mindestens schon 5-6 mal geklärt! Vor unicodestrings setzt man ein L:

MessageBoxW(L"Text", ...);

oder du verwendest ANSI (nicht empfehlenswert!)

MessageBoxA("Text");
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

3

17.07.2006, 18:52

Oder du stellst dich darauf ein, das du beides verwenden kannst ;)

C-/C++-Quelltext

1
MessageBox(NULL, _T("Mein Fehlertext"), NULL, MB_OK | MB_ICONERROR);
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Anonymous

unregistriert

4

17.07.2006, 18:55

_T soll man nicht verwenden sondern das Makro TEXT, bist doch sonst immer so genau ;)

[size=7]ANSI Zeichensatz in NT Zeiten - was für ein Unfug. Unicode 4 ever[/size]

5

17.07.2006, 19:58

Hmm... warum? Das wusste ich noch net mal :(

C-/C++-Quelltext

1
2
3
4
5
6
7
8
// winnt.h

#if (defined UNICODE)
    #define __TEXT(quote) L##quote 
#else
    #define __TEXT(quote) quote 
#endif

#define TEXT(quote) __TEXT(quote)


C-/C++-Quelltext

1
2
3
4
5
6
7
8
// tchar.h

#if (defined UNICODE)
    #define __T(x)      L ## x
#else
    #define __T(x)      x
#endif

#define _T(x) __T(x)


Hat ähnlichkeit ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Anonymous

unregistriert

6

17.07.2006, 20:02

Klar hat das ähnlichkeit - keine Frage. Ist ja auch das selbe.

Jedoch da tchar eher eine "Optionale Headerdatei" ist und man auf NT-Systemen primär die winnt.h benutzt sollte hier TEXT benutzen. Auch deshalb da Änderungen eher in winnt.h stattfinden als tchar.h

Sind komische Argumente, aber solche bekomme ich auch wegen Auflösen von WinAPI-#defines zu hören :badgrin:

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

7

17.07.2006, 20:16

TEXT rulez (is kult) schon wegen dem Petzold ;). Im übrigen ist auch dort das allererste Kapitel Unicode.

Zitat

Ist ja auch das selbe.

Fragt sich nur wer von wem geklaut hat ^^

8

18.07.2006, 11:09

Zitat von »"Black-Panther"«

Also bitte leute verwendet mal die Forumsuche... Das wurde jetzt mindestens schon 5-6 mal geklärt! Vor unicodestrings setzt man ein L:

MessageBoxW(L"Text", ...);

oder du verwendest ANSI (nicht empfehlenswert!)

MessageBoxA("Text");


ja schon, aber woher soll ich wissen dass das unicode is?

9

18.07.2006, 11:25

In den Projecteinstellungen zu finden ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

10

18.07.2006, 11:34

Und abgesehen davon:
"LPCWSTR" IST Unicode!
"LPCSTR" wäre ANSI!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Werbeanzeige