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

ext

Treue Seele

  • Private Nachricht senden

11

25.05.2006, 15:15

Sehr schön, jetzt weißt du, dass der Zeiger nicht auf dein DirectDraw-Device zeigt. Du kennst deinen Code ja am besten, suche die Stelle wo der Zeiger normal initialisiert werden sollte.

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

12

25.05.2006, 15:18

wenn die rot dargestellt werden heißt das, dass die eben gerade erst geändert wurden. sie mal nach, ob du oben drüber ne if answeisung stehen hast, in der zB sowas steht:

C-/C++-Quelltext

1
if(m_pDD = NULL){/*...*/}
das bedeutetm dass du anstatt zu vergleichen einen wert zuweist ...
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

NicoH

Treue Seele

  • »NicoH« ist der Autor dieses Themas

Beiträge: 89

Wohnort: Elsterwerda

Beruf: Student Informatik

  • Private Nachricht senden

13

25.05.2006, 22:26

man nun sitz ich shcon 3 tage an dem fehler... echt irre da ist doch gar nichts... hie rmal ein bild wo der fehler passiert und wann... der passiert ja erst wenn das programm schon kurz vorm fullmodus umschalten ist....

http://www.kotschka.com/fehler.JPG
mfg NicoH

3 Wichtige Regeln des Programmierers:
- Nur in der Nacht programmieren
- Viel Kaffe und kalte Pizza im Vorrat haben (Cola geht auch ;))
- Keine Freundin (sie stört im wichtigsten Augenblick)

Anonymous

unregistriert

14

25.05.2006, 22:35

Bei dem Code auf dem Screenshot wundert mich gar nicht das es ohne Ende knallt!

Von Sicherheitsabfragen hälst Du irgendwie nicht gerade viel, stimmts?

ext

Treue Seele

  • Private Nachricht senden

15

25.05.2006, 23:58

Du weißt schon, dass du im Debugger Variablen überwachen lassen kannst?
Setz einfach mal nen bedingten Breakpoint auf den Device-Zeiger der los geht sobald der 0 ist.

NicoH

Treue Seele

  • »NicoH« ist der Autor dieses Themas

Beiträge: 89

Wohnort: Elsterwerda

Beruf: Student Informatik

  • Private Nachricht senden

16

26.05.2006, 22:34

naja fehlerabfragen, das programm geht noch net über 2000 zeilen also ist es noch überschaubar , zumal es ja in verschiedenen klassen eingeteilt ist, naja das prob ist , wenn ich alles dateien so wie in dem projekt vorhanden sind in ein neues kopiere, da auch alles wieder so einstelle, wie zusatz libs..usw geht es... bloss wenn ich die pfade der bilder anpasse geht nichts mehr... also wenn ich das projekt in das hier reinkopieren will muss ich ja die pfade anpassen, dann kommt dieser fehler... irgend zum haare raufen...
mfg NicoH

3 Wichtige Regeln des Programmierers:
- Nur in der Nacht programmieren
- Viel Kaffe und kalte Pizza im Vorrat haben (Cola geht auch ;))
- Keine Freundin (sie stört im wichtigsten Augenblick)

ext

Treue Seele

  • Private Nachricht senden

17

26.05.2006, 22:42

Zitat von »"NicoH"«

naja fehlerabfragen, das programm geht noch net über 2000 zeilen also ist es noch überschaubar[..]

anscheinend aber nicht, ich an deiner Stelle hätte mich schon längst hingesetzt und bei jedem Zugriff auf nen Zeiger und jeder Zuweisung ne überprüfung reinzubauen und jedes bischen in nen logfile ausgeben zu lassen.
Du sitzt an dem Problem ja jetzt schon ewig und bist immernoch nicht weiter.
Ohne Überprüfung ändert sich das auch nicht, wenn du nicht weißt wo genau es schief geht und wie es dazu kommt, dann wirst du da auch nie dahinter kommen.

Also nimmer die 1-2Stunden zeit und überflute deinen Quellcode (kannst ja ne Kopie anlegen, aber besser du lässt das für die Zukunft drin) mit asserts und logging.

NicoH

Treue Seele

  • »NicoH« ist der Autor dieses Themas

Beiträge: 89

Wohnort: Elsterwerda

Beruf: Student Informatik

  • Private Nachricht senden

18

27.05.2006, 20:56

ich habe jetzt jeden audruck bzw variable überwachen lassen tjo damit kann ich nichts anfangen:

GetDirectDraw CXX0017: Fehler: Symbol "GetDirectDraw" nicht gefunden
TestCooperativeLevel CXX0017: Fehler: Symbol "TestCooperativeLevel" nicht gefunden
+ dsply {m_pDD=0x00000000 m_pddsFrontBuffer=0x00000000 m_pddsBackBuffer=0x00000000 ...} CDisplay

wie kann denn dieser fehler kommen, ich habe doch nichts am script veräandert,.... nur die klasse umgenannt und wenn man da was vergisst wird der compiler drauf aufmerksam.....
mfg NicoH

3 Wichtige Regeln des Programmierers:
- Nur in der Nacht programmieren
- Viel Kaffe und kalte Pizza im Vorrat haben (Cola geht auch ;))
- Keine Freundin (sie stört im wichtigsten Augenblick)

NicoH

Treue Seele

  • »NicoH« ist der Autor dieses Themas

Beiträge: 89

Wohnort: Elsterwerda

Beruf: Student Informatik

  • Private Nachricht senden

19

01.06.2006, 20:34

:D :D :D :D

Ich habe den Fehler so lange gesucht und endlich gefunden,... es lag an der Init, ich habe statts die Displayklasse die Musik klasse zweimal initiallisiert,... das mir eine Lehre da kommt jetzt ein bool rein mit Klasse init oder nicht...

:o
mfg NicoH

3 Wichtige Regeln des Programmierers:
- Nur in der Nacht programmieren
- Viel Kaffe und kalte Pizza im Vorrat haben (Cola geht auch ;))
- Keine Freundin (sie stört im wichtigsten Augenblick)

ext

Treue Seele

  • Private Nachricht senden

20

02.06.2006, 01:36

Hätteste alles mit Logging-Code zugepflastert wie ich gesagt habe, dann hättest es längst gemerkt, dass du deine Grafikklasse niemals initialisierst. Gleiches gilt für nen Breakpoint im Konstruktor der Displayklasse.

Ich hoffe in Zukunft hörst du auf andere :p ;)

Werbeanzeige