JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=fe99393e991a1001c012a1a2fda509a0Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Merkwürdiges Problem mit Starfield1

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Falcon
Mini JLI'ler



Anmeldedatum: 18.07.2004
Beiträge: 23

Medaillen: Keine

BeitragVerfasst am: 22.08.2004, 01:59    Titel: Merkwürdiges Problem mit Starfield1 Antworten mit Zitat

Hallo,

ich sitze grade an Starfield1 und bin fertig mit dem Code und habe es sogar ohne Fehler compilieren önnen.
Sobald ich meine .exe allerdings starten will bricht er sofort ab.
Fehlermeldung wenn ich auf Debug klicke:

Zitat:
The instruction at "0x0040134d" referenced memory at "0x000000a4". The memory could not be "written".


Wenn ich Starfield.Draw(Direct3D.GetBackbuffer()); nicht aufrufe dann kann ich die .exe einwandfrei starten (hab halt dann nur leeres Fenster).

So, ich hab mir gedacht, ok Zeit mal den Debugger näher kennen zu lernen.
Also ab in die Systemsteuerung - DirectX und dort auf Debug Version umgestellt. Ich habe zusätzlich noch ein Häckchen bei "Enable Shader Debugging" gemacht.
Wieder meine .exe gestartet und Schwupps - es funktoniert! Sobald ich dieses Häckchen allerdings wieder entferne kommt wieder oben genannter Fehler.

Ich habe meinen Quelltext verglichen mit dem von Christian und kann echt keinen Fehler finden. Bis auf ein paar andere Namen für manche Variablen und die Auflösung (denke mal nicht das der Fehler dort liegt) ist er gleich. Sein Projekt kann ich allerdings einwandfrei kompilieren.

Der Debugger sagt mir nicht allzuviel. Es kommt gleich ne Fehlermeldung und er springt hier hin:

Quellcode von CStar.cpp
Code:
void CStar::Draw(D3DCOLOR* Pixels, int Pitch)
{
   // Position für Stern berechnen
   int index = ((int)m_y * Pitch + (int)m_x);

   // Länge berücksichtigen und Farbe wählen
   for(int i=0;i<m_Lenght;i++)
   {
/*HIER Zeigt der Cursor hin */Pixels[index + 1 * Pitch] = StarColors[i];
   }
}


Der Debugger zeigt mir unten die Werte der einzelnen Variablen an.
Neben Pixels [0x00000000] ist ein Pluszeichen zum ausklappen, wenn ich das ausklappe steht da:
CXX030: Error: expression cannot be evaluated

So und nun sitz ich da und komm mir blöd vor Smile Bin für jeden Tipp dankbar.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Falcon
Mini JLI'ler



Anmeldedatum: 18.07.2004
Beiträge: 23

Medaillen: Keine

BeitragVerfasst am: 22.08.2004, 03:18    Titel: Antworten mit Zitat

Ich glaub ich habs gefunden. Bin jetzt den kompletten Quelltext Zeile für Zeile durchgegangen.

In Direct3D::Init hat bei mir das hier gefehlt:

Code:
PParams.Flags            = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;


Jetzt gehts endlich. Puh
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum