|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Compuholic Mini JLI'ler
Anmeldedatum: 15.10.2002 Beiträge: 25
Medaillen: Keine
|
Verfasst am: 01.02.2003, 19:02 Titel: Surface Array |
|
|
Kann mir jemand sagen, warum ich einen Fehler bei folgendem Code bekomme. Das ganze wird ein Menü. Die einzelnen Menüpunkte werden in getrennte Oberflächen geladen und dann in die Primäre Oberfäche geblittet. Wenn das ganze fertig ist, soll der aktive Menüpunkt größer hervorgehoben werden. Das aber nur so am Rande.
Code: |
void DisplayMenu()
{
LPDIRECTDRAWSURFACE7lpDDSSplash;
-> LPDIRECTDRAWSURFACE7lpDDSMItems[MENU_NUMENTRIES];
DDCOLORKEYddColorKey;
BOOLAction = FALSE;
charcItemFilename[40];
charcItemIndex[3];
UINTwtempIndex;
UINTwMenuItemIndex = 0;
UINTwMenuItemX, wMenuItemY;
//Menü-Hintergrund laden
lpDDSSplash = lpGraphics->CreateSurfaceFromBitmap(".\\Menu\\splash.bmp", SCREEN_WIDTH, SCREEN_HEIGHT);
|
Erzeugt die Fehlermeldung:
error C2143: Syntaxfehler : Fehlendes ']' vor ';'
Ich habe die Zeile markiert an der der Fehler (laut Compiler) auftritt.
[edit]
MENU_NUMENTRIES ist eine Konstante, die in der Header-Datei definiert wurde. Das soll garantieren, das das Programm später besser zu aktualisieren ist, wenn ich mal ein paar Menüpunkt hinzufügen will. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 01.02.2003, 20:49 Titel: |
|
|
Hallo,
das kommt weil du ein Semikolon hinter der Konstante beim #define hast:
#define MENU_NUMENTRIES 100; <--- passiert mir auch manchmal
Christian |
|
Nach oben |
|
|
Compuholic Mini JLI'ler
Anmeldedatum: 15.10.2002 Beiträge: 25
Medaillen: Keine
|
Verfasst am: 02.02.2003, 11:32 Titel: |
|
|
Oh, tatsächlich.
Peinlich, peinlich.
Aber noch eine Frage:
erkennt hier jemand auf Anhieb den Fehler. Ich sitz schon Stunden daran und finde nix. Der Fehler tritt bei CreateSurface auf.
Code: |
if (FAILED(DirectDrawCreateEx(NULL, (LPVOID*)&lpDD7, IID_IDirectDraw7, NULL)))
{
return FALSE;
}
//Kooperationsebene festlegen
if (FAILED(lpDD7->SetCooperativeLevel(hWnd, DDSCL_NORMAL | DDSCL_FULLSCREEN | /*DDSCL_EXCLUSIVE | */DDSCL_ALLOWREBOOT)))
{
lpDD7->Release();
return FALSE;
}
if (FAILED(lpDD7->SetDisplayMode(1024, 768, 16, NULL, NULL)))
{
lpDD7->Release();
return FALSE;
}
//Primäre Oberfläche erzeugen
ZeroMemory(&ddPriSurf, sizeof(ddPriSurf));
ddPriSurf.dwSize = sizeof(ddPriSurf);
ddPriSurf.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddPriSurf.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_VIDEOMEMORY | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
ddPriSurf.dwBackBufferCount = 1;
if (FAILED(lpDD7->CreateSurface(&ddPriSurf, &lpDDSPrimary, NULL)))
{
lpDD7->Release();
return FALSE;
}
|
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|