JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=6b9301919bceef6a25a1fa97d8498073Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Surface Array

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Compuholic
Mini JLI'ler



Anmeldedatum: 15.10.2002
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 01.02.2003, 19:02    Titel: Surface Array Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 01.02.2003, 20:49    Titel: Antworten mit Zitat

Hallo,

das kommt weil du ein Semikolon hinter der Konstante beim #define hast:

#define MENU_NUMENTRIES 100; <--- passiert mir auch manchmal Smile

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Compuholic
Mini JLI'ler



Anmeldedatum: 15.10.2002
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 02.02.2003, 11:32    Titel: Antworten mit Zitat

Oh, tatsächlich. Smile

Peinlich, peinlich. Embarassed
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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum