JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kann keine Datei mehr öffnen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 19:40    Titel: Kann keine Datei mehr öffnen Antworten mit Zitat

Hallo Leutz!

Wenn ich die Funktion GetOpenFileName() benutze kann ich danach keine Textdatei mehr lesen, die FILE ist immer gleich NULL. Wieso ist das immer so? Ich kann mich auch erinnern das ich mal beim laden von Surfaces Probleme danach hatte.

Bin für jede Hilfe dankbar!

THX
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 20:23    Titel: Antworten mit Zitat

Also es könnte daran leigen wie du die Datei öffnest. Zum Beispiel soltle man unterscheiden ob man ne Textdatei oder ne Binärdatei öffnet. Bei Binär muss man z. B. "Rb" oder "wb" angeben bei Textdateien dann glaub ich "rt" oder "wt". Aber auf jednefall solltest du mal SOurce zeigen...
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 21:01    Titel: Antworten mit Zitat

ne wenn ich diese Funktion net ausführe klappts ja Prima!


Das mache ich bei WM_COMMAND:

Code:


      case ID_OPEN:
         
         OPENFILENAME ofn;   
            char         FileTitle[MAX_PATH];   

          ZeroMemory(&ofn,sizeof(ofn));

            ofn.lStructSize = sizeof(OPENFILENAME);                                          // Grösse der Struktur
            ofn.hwndOwner = NULL;                                                            // Besitzer Fenster
          ofn.lpstrFilter = "bEngine map files (*.bmap)\0*.bmap\0All Files (*.*)\0*.*\0";  // Dateitypen filter
            ofn.lpstrFile = FilePath;                                                        // Dateipfad
            ofn.nMaxFile = MAX_PATH-1;                                                       // Max. Pfadgrösse
            ofn.lpstrFileTitle = FileTitle;                                                  // Dateititel
            ofn.nMaxFileTitle = MAX_PATH-1;                                                  // Max. Dateititelgrösse
            ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST;                               // Flags

            if(GetOpenFileName(&ofn))
         {   
            MessageBox(0,FilePath,"",MB_OK);
             Direct3D.LoadMap("maps/map1.bmap");
         }
      break;



Und das ist der obere Teil der LoadMap funktion:
Code:

m_File = fopen(lpFilename,"rt");
   
   
   if(NULL == m_File)
   {
      return;
   }
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 21:07    Titel: Antworten mit Zitat

Hi,

ersetz den Code mal:
Code:

m_File = fopen(lpFilename,"rt");
   
   
   if(NULL == m_File) // UGLY!
   {
      return;
   }


durch den hier:
Code:

m_File = fopen(lpFilename,"rt");
   
   if(!m_File)
   {
        ::MessageBox (NULL, "Pointer ist NULL!", "", MB_OK);
        throw "error";
   }


Wenn die MessageBox erscheint und ne Exception geworfen wurde weißte wo der fehler ist, die Datei existiert nicht.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 21:13    Titel: Antworten mit Zitat

Klar ist der Pointer NULL sonst würde es ja auch nicht returnen. Aber wenn ich diese GetOpenFileName funktion vorher nicht aufrufe ist de rPointer nicht nulll das ist ja das komische.. Sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 06.01.2005, 21:15    Titel: Antworten mit Zitat

meld dich in 10 min mal bei mir per ICQ und gib mir mal den code, kann doch net sein *kratz*
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 07.01.2005, 13:12    Titel: Antworten mit Zitat

Es braucht keinen Sourcecode es steht 100 % sicher dass es an dieser Funktion liegt... Ich hatte schojn immer probleme mit laden von Dateien nach dieser Funktion, sie ist so unberechenbar... :'( *snief*
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 -> Entwicklung 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