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

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

1

19.10.2010, 14:22

TbFont Problem (sogar Speicherreservierung scheitert!)

Moin

Habe ein kleines Poblem:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
tbResult CMainMenu::Init ()
{
m_pFontMenu = new tbFont;
m_pFontMenu->Init("Data\\FontMenu.tga", "Data\\FontMenu.tbf");

return TB_OK;

}


Zur laufzeit bekomme ich einen Fehler (im Debugmodus von Visual C++ 2008 express edition)

Zitat

Unbehandelte Ausnahme bei 0x012d2bf8 in Projekt.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000070.
Es wird auf die Zeile "m_pFontMenu = new tbFont;" gezeigt.
Entferne ich diese, so bekomme ich den gleichen Fehler in der darauf folgenden Zeile.

EDIT:

Der debugger sagt für m_pFontMenu

Zitat

m_pFontMenu CXX0017: Fehler: Symbol "" nicht gefunden



Kann mir jemand helfen? :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NoobEnt« (19.10.2010, 14:54)


2

19.10.2010, 15:01

Moin moin!

Willkommen erstmal im Forum! ;)

Wo und wie ist m_pFontMenu definiert?
Wo befindet sich der Ordner "Data"? Relativ zum Exe-Verzeichnis?
fka tm

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

3

19.10.2010, 16:05

Erstmal danke für die Antwort ;)

m_pFontMenu ist in CMainMenu.hpp definiert.

C-/C++-Quelltext

1
2
3
private:
        STitleVertex    m_Vertizes[4];
        tbFont          *m_pFontMenu;


Im Konstrucktor von CMainMenu wird m_pFontMenu auf NULL gesetzt...

4

19.10.2010, 16:22

Setz mal ein Breakpoint bei m_pFontMenu->Init.
Mal sehen, ob der Debugger soweit kommt.

Ansonsten mehr Code bitte! ;)
fka tm

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

5

19.10.2010, 16:26

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
tbResult CGameStates::SetGameState (GS State)
{
//Für den alten Spielzustand die Exitfunktionen aufrufen
switch (m_GameState)
{
//case (GS_INTRO): {m_pIntro->Exit();} break;
case (GS_MAINMENU) : {m_pMainMenu->Exit();} break;
case (GS_GAME): {m_pGame->Exit();} break;
}

//Neuen Spielzustand initialisieren
switch (State)
{
//case (GS_INTRO): {m_pIntro->Init();} break;
case (GS_MAINMENU)        : {m_pMainMenu->Init();} break;                                                 //BREAKPOINT GESETZT
case (GS_GAME): {m_pGame->Init();} break;
}



bis dahin kein Fehler

EDIT

Wenn ich im debugger nachsehe, dann zeigt er mir ein rotes Ausrufezeichen bei m_pFontMenu.

Zitat

m_pFontMenu CXX0017: Fehler: Symbol "" nicht gefunden


6

19.10.2010, 16:30

Bei Init tritt der Fehler auf?
Stimmt der Pfad zum Data-Ordner?
Passiert das nur beim Ausführen über die IDE?
fka tm

NoobEnt

Frischling

  • »NoobEnt« ist der Autor dieses Themas

Beiträge: 14

Wohnort: Aurich, Ostfriesland

  • Private Nachricht senden

7

19.10.2010, 16:47

naja dieses Ausrufezeichen ist ja schon vorher da.
bei "normalen" ausführen der exe stürzt das Program ab.

Er kommt ja gar nicht bis zur Init-Funktion von m_pMenuFont.
bei der Reservierung des Spiechers bricht der Compiler ja schon ab ;)

komisch ist allerdings, dass genau dieselbe version des Quellcodes auf dem pc meines Kollegen (rechts neben mir) ohne probleme läuft. Die Exe ist bei ihm allerdings auch größer...
Bloß warum?

8

19.10.2010, 17:36

Möglicherweise hantierst du mit Null-Zeigern und/oder mit Variablen außerhalb ihres Gültigkeitbereiches.

Könnte auch sein, dass die Projektkonfiguration nicht passt -> Optimierungs- und Debug-Einstellungen checken.

Lösch mal den Debug-Ordner und das restliche temporäre Zeug.
Projekt bereinigen.
Neu erstellen.
fka tm

Werbeanzeige