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

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

1

26.07.2008, 22:07

HGE Sprite access violation?

HUhu..

Also mein Problem ist das ich beim Laden des Sprite in eine Struct eine Access Violation bekomme!

Hier der Screen + Debugger Info ..
http://img78.imageshack.us/img78/7378/problemxm2.jpg

Es handelt sich um folgende Zeile

C-/C++-Quelltext

1
m_SBullet.Sprite = new hgeSprite(hge->Textur_Load( usw...) ...


Hat jemand ne Idee warum ich den Fehler bekomme?[/cpp][/code]

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

26.07.2008, 22:11

hge ist offensichtlich nichr initialisiert.
Bist du sicher, dass du bei der Konstruktion von CBulletManager einen gültigen Zeiger übergibts?Respektive hge initialisiert ist?

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

3

26.07.2008, 22:22

Naja in der main hab ich im Global scope HGE *hge=0; und danach leg ich eine instanz auf CBulletManager an CBulletManager Bullet(hge); genau so;
steckt da der Fehler?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

26.07.2008, 22:52

Zitat von »"Toa"«

Naja in der main hab ich im Global scope HGE *hge=0; und danach leg ich eine instanz auf CBulletManager an CBulletManager Bullet(hge); genau so;
steckt da der Fehler?


Öh. Ja. Wenn du einen Null Zeiger übergibst, darfst du mit dem nichts machen. Du musst schon einen gültigen Zeiger übergeben. :roll:

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

5

26.07.2008, 22:55

wasn gimmel.. warum kann er kompilier net bei sowas mekkern >.< naja danke ich probiers ma

Edit :
Das Problem ist folgendes:

mein Aufbau in der main sieht so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
//Global Scope

HGE *hge=0;
CBulletManager Bullet(hge);
//Framefkt


//Renderfkt


//WinMain

hge = hgeCreate(...)

Ich weiß jetzt nicht wie ich das ganze machen soll das ich keine Nullzeiger übergebe aber trotzdem die Instanz überall in der main.cpp nutzen kann denn die framefkt und die Renderfkt greifen auf Funktionen daraus zu..

Hoffe es wird deutlich was mein Problem ist ..

6

27.07.2008, 10:36

Globale Variable weg lassen.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

7

27.07.2008, 12:29

devil das ist bei hge ein wenig plöd, weil hge zwei funktionszeiger benötigt wür update und render. und da es toa erstma lernen soll, sind in dem fall globale vars zu verkraften.

toa: lege das objekt auf den heap an. ich hatte dir gesagt immer erst NACH system_Initiate darfst du das hge interface zum laden von texturen etc. nutzen! und du übergibst den zeiger auf das hge schon bevor es initialisiert wurde. wenn du mit dem debugger über deine hge->variable gegenagen wärst wäre dir das aufgefallen^^

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

8

28.07.2008, 11:50

Ja danke hat geklappt xD

Werbeanzeige