Warum bleibt er hängen?



  • Hallo,
    ich habe eine WinAPI Anwendung, und habe eine Funktion die eine Datei in einen Array speichert, nur wenn es die Datei gibt, stürzt er ab, wenn es sie nicht gibt hängt er nicht?!?

    Also erstens das Lade Dialog:

    LRESULT CALLBACK Load( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
    {
        char* temp = "";
        char char2[] = "                        ";
        char* temping = "";
        switch(message)
        {
            case WM_INITDIALOG:
                return TRUE;
            case WM_COMMAND:
                if (LOWORD(wParam) == IDC_EXIT) 
                {
                    EndDialog(hDlg, LOWORD(wParam));
                    return FALSE;
                }
                if (LOWORD(wParam) == IDC_LLOAD) 
                {
                    GetDlgItemText(hDlg,IDC_LOADNAME,(char *)char2,100);
                    sprintf((char *)temp,"maps//%s",char2);
                    EndDialog(hDlg, LOWORD(wParam));
                    LoadLevel(temp,TRUE);
                    //break;
                    return TRUE;
                }
                break;
        }
        return FALSE;
    }
    

    Und dann die Funktion:

    void LoadLevel(const char* level, bool NEW)
    {
        int i;
        int temp[255];
        if(NEW == TRUE)
        {
            ifstream ifs( level, ios::binary /*| ios::nocreate*/);
            ifs.read((char*)temp, sizeof(temp) );
            for(i = 0;i<255;i++)
            {
                g_BoardArray[i] = temp[i];
                g_BoardArrayOrginal[i] = temp[i];
            }
        }
        else
        {
            for(i = 0;i<255;i++)
            {
                g_BoardArray[i] = g_BoardArrayOrginal[i];
            }
        }
        Init(globalhwnd);
    DeInit(TRUE);
    
    }
    


  • Hmm, hat keiner ne idee?



  • moin meister ...

    nimm nen debugger oder schmeisse mal ein paar zeilen raus um festzustellen
    wo das prog abschmiert.

    mfg rb



  • Debugger, findet nichts, denn das programm läuft ja weiter, nur bewegen tut sich nichts mehr im feld...


Anmelden zum Antworten