Seltsamer Debugger-Bug? oO

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Fetze

Betreff: Seltsamer Debugger-Bug? oO

BeitragDo, Okt 26, 2006 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mal wieder ein Problem mit BlitzMax und wieder einmal liegt es entweder nicht an meinem Code oder auf eine Art und Weise, die mir nicht ersichtlich ist - wegen letzterem Punkt poste ich hier.

Folgendes:
Ich habe einen Type namens "Cutscene", er ist Abstract und beinhaltet einige Functions wie beispielsweise die Function "Play" oder "RedefineTypes". Nun kann ich von eienr globalen Function aus problemlos Cutscene.RedefineTypes() aufrufen, jedoch scheint Cutscene.Play() schlichtweg nirgendwo zu funktionieren - der Debugger meldet mit einen "Unknown identifier"-Bug, wie wir ihn alle kennen, wenn wir uns im SuperStrict-Modus (Den verwende ich auch hier) mal vertippen. Alle einzelnen Code-Dateien sind per Include vernetzt, daher sollte sowas überhaupt nicht vorkommen können.. ôo

Hier, der Code:
Code: [AUSKLAPPEN]

[..]

Cutscene.RedefineTypes(0) '<<=== KEIN FEHLER ===

[..]

Cutscene.Play(iMenuIntro - 1) '<<=== FEHLER ===

[..]

'Notationskürzel "csc"
Type Cutscene Abstract 'Reine Containerklasse für Globale
   
   [..]
   
   Function Play:Byte(iParType:Int)
      If ValidID(iParType) = False Then Return False
      If iCurrentPlaying <> -1 Then Stop()
      
      GameState.Set(GameState.CUTSCENE)
      iCurrentPlaying = iParType
      
      Return True
   End Function
   
   Function RedefineTypes:Byte(iParNewTypeNum:Int, bParClear:Byte = False)
      If bParClear = True Then
         RedefineTypes(0)
      End If
      
      iCount = iParNewTypeNum
      sID = sID[..iParNewTypeNum]
      sName = sName[..iParNewTypeNum]
      
      Return True
   End Function

   [..]
   
End Type


Ich bin gerade ziemlich ratlos - was kann ich da falsch gemacht haben? Oder: Hat jemand nen Vorschlag, wie ich an die Lösung des Problems rangehen kann?

Edit: Was ich vielleicht noch dazu sagen sollte: Er beschwert sich nur über "Play", nicht aber über "Cutscene" - Cutscene scheint er also zu kennen, Play jedoch nicht, was an sich schon eigentlich unmöglich ist, da Play definitiv und genau so wie im geposteten Codeauszug in Cutscene drin steht.
 

Dreamora

BeitragDo, Okt 26, 2006 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du mit einem debugstop und stepin überprüft ob der Play Aufruf das Problem ist oder etwas im Play drin? (ValidID zb).

Etwas anderes was natürlich noch wäre, wäre wenn du irgendwo die Variable CutScene eingeführt hast... das ist nämlich ein böses no go, da Klassen und Types NICHT getrennte Namensspeicher haben. (weswegen viele hier Types mit Txx bezeichnen und ich persönlich manager types mit Mxx)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Fetze

BeitragDo, Okt 26, 2006 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Da wird weder was aufgerufen noch irgendwas ausgeführt - er schafft es ja nichtmal, zu kompilieren, weil sich der Debugger beschwert. ôo

Edit: Das fällt aber allein deswegen schon weg, da ich ungarische Notation verwende, sodass all meine Variablen ein bis drei Buchstaben vor ihrem Namen stehen haben, die ihren Typ bezeichnen - Keine Klasse, Methode oder Function hat bei mir sowas.

Fetze

BeitragDo, Okt 26, 2006 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay.. mein Fehler. Ich hab die Rechnung ohne meine Konstanten gemacht, die ich ohne Notation belasse. Und zwar gab es da die Konstate GameState.CUTSCENE - da ich ausserhalb von GameState nur per GameState.CUTSCENE darauf zugreifen konnte, bereitete das keine Probleme.. nur als ich versuchte, innerhalb der GameState-Klasse CutScene.Play aufzurufen wurde das Cutscene falsch interpretiert.

Ich habe meine Konstanten jetzt umbenannt.
 

Dreamora

BeitragDo, Okt 26, 2006 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Smile

freut mich, dass das Problem gefunden werden konnte.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group