003
10.10.2006, 21:14 Uhr
~doni
Gast
|
Also, hier mal die zwei klassen, in der scheinbar der fehler auftritt:
Aber wie gesagt, nur bei "Release" compilierung. deswegen verstehe ich nicht ganz was am code falsch sein soll. scheint mir eher ein fehler in der einrichtung der releaseeinstellungen zu sein?
als ide nutze ich visual studio 2005
ball.h
C++: |
#pragma once #include "stdafx.h" #include "Framework.h" #include "Sprite.h"
class CBall { public: CBall(CFramework* g_pFramework, char* spritePath); ~CBall(void); CSprite* GetBallSprite() {return m_imageBall;} private: CSprite* m_imageBall; };
|
ball.cpp
C++: |
#include "Ball.h"
CBall::CBall(CFramework* g_pFramework, char* spritePath) { this->m_imageBall = new CSprite(spritePath, g_pFramework); }
CBall::~CBall(void) { }
|
Framework.h
C++: |
#pragma once #include "stdafx.h" #include "Timer.h"
class CFramework { public: CFramework(int width, int height); ~CFramework(void); SDL_Surface* GetScreen() {return m_pScreen;} CTimer * GetTimer() {return m_pTimer;} void ClearScreen(); void Flip();
private: SDL_Surface *m_pScreen; CTimer *m_pTimer; };
|
Framework.cpp
C++: |
#include "Framework.h"
CFramework::CFramework(int width, int height) { if(SDL_Init(SDL_INIT_VIDEO) == -1) { std::cerr<<"Fehler! bei Initialiseren"; exit(1); }
this->m_pScreen = SDL_SetVideoMode(width, height, 16, SDL_HWSURFACE| SDL_RESIZABLE | SDL_DOUBLEBUF);
this->m_pTimer = new CTimer();
SDL_EnableKeyRepeat(100, SDL_DEFAULT_REPEAT_INTERVAL); }
CFramework::~CFramework(void) { SDL_FreeSurface(this->m_pScreen); SDL_Quit(); std::cout<<"CFramework::Destruktor()"<<std::endl; }
void CFramework::ClearScreen() { SDL_FillRect(this->m_pScreen, NULL, SDL_MapRGB(this->m_pScreen->format, 0, 0, 0)); }
void CFramework::Flip() { SDL_Flip(m_pScreen); }
|
|