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

09.07.2006, 15:57

Problem mit Message Box!

Hi leutz,

ich hab gerade angefangen mich mit der WIn32API auseinanderzusetzen.
http://www.win-api.de/tutorials.php?tutid=2 <----- mit diesem tutorial. Nun geht der Quellcode von seite 1 nicht. auch wenn ich ihn abkopiere.
Jetzt natürlich meine Frage stimmt was mit dem compilier bzw. Plattform SDK nicht stimmt ich schluichtweg zu blöd bin(!) ;-) oder eventuell dem Autor ein Fehler unterlief.


Quellcode:

C-/C++-Quelltext

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
32
33
#define STRICT

#include <windows.h>

const char  szWitz[] = "\"Ich steh' schwer auf Umweltschutz\", sagt Peter.\n"
                       "\"Ich werfe zum Beispiel alte U-Bahn-Fahrscheine nie weg,\n"
                       "sondern benutze sie mehrmals.\"";

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
{

  int iAntwort = MessageBox(NULL, szWitz, "Ha, ha, ha, ha...",
                                   MB_ICONINFORMATION | MB_OKCANCEL | MB_DEFBUTTON1);

 if (IDOK == iAntwort)
   {
      MessageBox(NULL, "Ja, ich finde den Witz auch Ok...",
                       "Sie haben auf Ok gedrückt",
                       MB_ICONINFORMATION | MB_OK | MB_DEFBUTTON1);
   }

 else if (IDCANCEL == iAntwort)
   {
      MessageBox(NULL, "Ja, warum haben sie denn auf Abbrechen gedrückt?\n"
                       "Hat ihnen der Witz etwa nicht gefallen?",
                       "Sie haben auf Abbrechen gedrückt",
                       MB_ICONINFORMATION  | MB_OK | MB_DEFBUTTON1);
   }

    return 0;
}

Anonymous

unregistriert

2

09.07.2006, 15:59

Ähm, was geht denn da nicht?

3

09.07.2006, 16:03

Hier ist mal der Output:

Zitat


------ Build started: Project: ssssssssssssssss, Configuration: Debug Win32 ------
Compiling...
sdds.cpp
d:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\ssssssssssssssss\ssssssssssssssss\sdds.cpp(15) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [137]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\ssssssssssssssss\ssssssssssssssss\sdds.cpp(21) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [34]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\ssssssssssssssss\ssssssssssssssss\sdds.cpp(29) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [89]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\ssssssssssssssss\ssssssssssssssss\sdds.cpp(34) : fatal error C1075: end of file found before the left brace '{' at 'd:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\ssssssssssssssss\ssssssssssssssss\sdds.cpp(11)' was matched
Build log was saved at "file://d:\Dokumente und Einstellungen\ThEpROGrammmer\Eigene Dateien\Visual Studio 2005\Projects\ssssssssssssssss\ssssssssssssssss\Debug\BuildLog.htm"
ssssssssssssssss - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

4

09.07.2006, 16:06

MessageBoxA(...)
MessageBoxW(...)
--> MSDN

edit:
FORUMSUCHE!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

$nooc

Alter Hase

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

5

09.07.2006, 16:09

hehe.. das hab ich auch immer ..

versuchs mal so:

C-/C++-Quelltext

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
32
#define STRICT 

#include <windows.h> 

LPCTSTR  szWitz = L"\"Ich steh' schwer auf Umweltschutz\", sagt Peter.\n" 
                       "\"Ich werfe zum Beispiel alte U-Bahn-Fahrscheine nie weg,\n" 
                       "sondern benutze sie mehrmals.\""; 

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                    PSTR szCmdLine, int iCmdShow) 
{ 

  int iAntwort = MessageBox(NULL, szWitz, L"Ha, ha, ha, ha...", 
                                   MB_ICONINFORMATION | MB_OKCANCEL | MB_DEFBUTTON1); 

 if (IDOK == iAntwort) 
   { 
      MessageBox(NULL, L"Ja, ich finde den Witz auch Ok...", 
                       L"Sie haben auf Ok gedrückt", 
                       MB_ICONINFORMATION | MB_OK | MB_DEFBUTTON1); 
   } 

 else if (IDCANCEL == iAntwort) 
   { 
      MessageBox(NULL, L"Ja, warum haben sie denn auf Abbrechen gedrückt?\n" 
                       L"Hat ihnen der Witz etwa nicht gefallen?", 
                       L"Sie haben auf Abbrechen gedrückt", 
                       MB_ICONINFORMATION  | MB_OK | MB_DEFBUTTON1); 
   } 

    return 0; 
}
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

6

09.07.2006, 16:11

oh sorry *in die ecke geh*

trotzdem danke!

TheProgrammer

$nooc

Alter Hase

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

7

09.07.2006, 16:14

np .. ich hab das problem ständig weil ich das vergesse.. so ganz genau hab ich das auch nicht so verstanden warum das so ist :D

also komm ich besser mit in die ecke :p
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

09.07.2006, 17:06

im Visual Studio 2005/Express ist Unicode standardmäßig immer aktiviert, im Gegensatz zu den Vorgängern.

9

09.07.2006, 18:17

man benutze TCHAR und _T usw und man hat so Probleme net ;)
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

Werbeanzeige