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

07.11.2009, 17:25

Listing 10.5

Ich habe in Listing 10.5 ein problem mit dem erstellen der Steuerelemente

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
hText = CreateWindow ("STATIC",
                          "Eingegebener Text",
                          WS_VISIBLE | WS_CHILD | ES_CENTER,
                          0, 0,
                          300, 20,
                          hWnd,
                          (HMENU)ID_STATICTEXT,
                          hInst,
                          NULL);

eigentlich abgetippt und kontrolliert aber der compiler sagt

Quellcode

1
2
3
4
1>c:\users\flonk\documents\visual studio 2008\projects\eine kleine anwendung\eine kleine anwendung\main.cpp(104) : error C2143: Syntaxfehler: Es fehlt ')' vor ';'
1>c:\users\flonk\documents\visual studio 2008\projects\eine kleine anwendung\eine kleine anwendung\main.cpp(104) : error C2660: 'CreateWindowExA': Funktion akzeptiert keine 10 Argumente
1>c:\users\flonk\documents\visual studio 2008\projects\eine kleine anwendung\eine kleine anwendung\main.cpp(104) : error C2143: Syntaxfehler: Es fehlt ';' vor ','
1>c:\users\flonk\documents\visual studio 2008\projects\eine kleine anwendung\eine kleine anwendung\main.cpp(104) : error C2059: Syntaxfehler: ')'
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

idontknow

unregistriert

2

07.11.2009, 18:11

WS_VISIBLE | WS_CHILD | ES_CENTER

Müsste afaik so heißen: WS_VISIBLE | WS_CHILD | WS_CENTER

3

07.11.2009, 18:44

ES_CENTER kann er ruhig verwenden.
Oder SS_CENTER oder ...


Änder mal
(HMENU) ID_STATICTEX in (HMENU)0

Welchen Zeichensatz verwendest du?

An welcher Stelle bzw. wann erstellst du den (Static-) Text?

idontknow

unregistriert

4

08.11.2009, 00:16

hmm, kenn mich mit WinAPI nicht aus, dachte das wäre vllt ein Tip Fehler gewesen, da ich sonst nix entdeckt habe, auer der Gedanke dass es nen Multibyte/Unicode Problem ist, dazu fand cih aber die Fehlermeldung nicht korrekt ...

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

08.11.2009, 00:58

trikkies lösung funktioniert zwar, ist aber nicht sinn der sache.

ein schönes beispiel für die fehleranfälligkeit von makros/#define :D

poste mal die definition von "ID_STATICTEXT" dort hast du mit sicherheit ein semikolon ans ende der zeile gesetzt. bei präprozessorbefehlen darf man das nicht tun.
dann kannst du auch wieder "(HMENU)ID_STATICTEXT," schreiben

6

08.11.2009, 08:40

Sinn der Sache? Fehler lokalisieren!
Eleganter Workaround? Seine/eure Sache... :)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

08.11.2009, 13:53

wenn du den fehler lokalisieren willst, warum fragst du dann nicht gleich nach der definition?
damit spart man sich einen schritt, besonders wenn es so eindeutig ist wie in diesem fall.

8

08.11.2009, 16:14

ok der fehler ist weg
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Werbeanzeige