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.05.2018, 20:12

Listing 10.5 - WindowsAnwendung Fehler

Hallo zusammen,
ich arbeite grade an den ersten Windows-Fenstern und versuche nach Anleitung aus dem Buch einen statischen Text als child-Fenster zu erzeugen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
void erstelleSteuerelemente(HWND hWnd, HINSTANCE hInst)
{
    // statischen Text als childfenster erzeugen
    hText = CreateWindow(TEXT("STATIC"),
        TEXT("Eingegebener Text"),
        WS_VISIBLE |  WS_CHILD | ES_CENTER,
        0, 0, 
        300, 20,
        hWnd,
        (HMENU)ID_STATICTEXT,
        hInst,
        NULL);


Visual Studio warnt mir die Funktion im Quellcode schon an, und der Compiler gibt mir ein Problem mit den Parametern und einer fehlenden ) aus... Bin ich jetzt total blind und hab da nen Tipper drin? Kann mir den Fehler nicht erklären.


Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler C2059 Syntaxfehler: ")" Windows Anwendung
Fehler (aktiv) E0018 Es wurde eine ")" erwartet. Windows Anwendung
Fehler C2143 Syntaxfehler: Es fehlt ")" vor ";" Windows Anwendung
Fehler C2660 "CreateWindowExA": Funktion akzeptiert keine 10 Argumente
Fehler C2059 Syntaxfehler: "," Windows Anwendung

2

17.05.2018, 21:07

Da fehlt die abschließende geschweifte Klammer:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
void erstelleSteuerelemente(HWND hWnd, HINSTANCE hInst)
{
    // statischen Text als childfenster erzeugen
    hText = CreateWindow(TEXT("STATIC"),
        TEXT("Eingegebener Text"),
        WS_VISIBLE |  WS_CHILD | ES_CENTER,
        0, 0, 
        300, 20,
        hWnd,
        (HMENU)ID_STATICTEXT,
        hInst,
        NULL);
} // <-- DORT 

Es sei denn, es handelt sich nur um einen Code-Ausschnitt...
fka tm

3

17.05.2018, 22:45

Ist ein Ausschnitt, die Klammer fürs Blockende ist vorhanden. ;)

Es kann nur etwas in dem geposteten Code sein, das macht mich wahnsinnig...

4

17.05.2018, 23:24

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
#include "stdafx.h"
#include <Windows.h>

#define ID_STATICTEXT (100)
HWND hText=0;

void erstelleSteuerelemente(HWND hWnd, HINSTANCE hInst)
{
    // statischen Text als childfenster erzeugen
    hText = CreateWindow(TEXT("STATIC"),
        TEXT("Eingegebener Text"),
        WS_VISIBLE | WS_CHILD | ES_CENTER,
        0, 0,
        300, 20,
        hWnd,
        (HMENU)ID_STATICTEXT,
        hInst,
        NULL);
}

int main()
{
    return 0;
}


Habe das so in ein neues Projekt in vs2017 community eingefügt und es compiliert ohne Fehler.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Hannes« (18.05.2018, 11:47)


5

18.05.2018, 20:53

Ich habe etwas über die Fehlersuche gelernt!
Lese den Code nach Fehlern durch, finde nichts.
Lese nochmal aufmerksam nach Fehlern durch, finde nichts.
Lese ein drittes Mal und denke darüber nach, was genau wo passiert und finde folgenden Fehler:

C-/C++-Quelltext

1
2
3
4
#define ID_STATICTEXT       4000;
#define ID_EDITBOX          4001;
#define ID_BTN_UEBERNEHMEN  4002;
#define ID_BTN_BEENDEN      4003;



.... Passiert mir aber sicher nicht nochmal :rolleyes:
Danke trotzdem für eure Unterstützung! :thumbup:

Werbeanzeige