Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem mit Datei speichern - Dialog

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.10.2004, 20:30 Uhr
~hardixy
Gast


Hallo zusammen,
habe eine Funktion geschrieben, die Datei öffnen oder Datei speichern - Dialog aufrufen soll und die gewählte Datei zurückgibt. Der Datei öffnen-Dialog funktioniert wie er soll, jedoch
stellt das "Datei speichern" - Dialog sich quer.

Das Problem:
Das Fenster geht auf und ich kann mir eine Datei zum Speichern auswählen, doch dann erfolgt stets eine Exzeption, dass irgendein unerlaubter Speicherplatz angesprochen wurde.
(Die Anweisung written konnte nicht auf Speicherplatz 0xcccccccccc durchgeführt werden!!!)
Wer kennt sich da aus und kann mir evtl. weiterhelfen???

danke schonmal im Voraus an alle fleissigen Helferlein, euer Forum ist ne gute Sache
Freue mich auf Antwort. hardixy

Hier der Code:


aktion = 1 --> Datei öffnen
aktion = 2 --> Datei speichern


C++:
char* DateiDialog(int aktion)
{
    static OPENFILENAME ofn;

    char cDatei[500], cDateiPfad[500];      
    static TCHAR Filter[] = TEXT ("Bitmap-Dateien (*.BMP)\0*.bmp\0") \
                            TEXT ("Alle Dateien (*.*)\0*.*\0\0");

    cDateiPfad[0] = '\0';
    cDatei[0] = '\0';

    ZeroMemory(&ofn, sizeof(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = NULL;
    ofn.nMaxFile =  sizeof(cDateiPfad);
    ofn.lpstrFile = cDateiPfad;
    ofn.lpstrFilter = Filter;
    ofn.nFilterIndex = 0;
    ofn.lpstrFileTitle = cDatei;
    ofn.nMaxFileTitle = sizeof(cDatei);
    ofn.lpstrInitialDir = NULL;



    //Datei öffnen --> dieser Abschnitt funktioniert
    if(aktion == 1)
    {
        ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

        if (GetOpenFileName(&ofn) == 0)
            return "kein Bild";
    }

    //Datei speichern --> hier tritt der Fehler auf
    else
    {
        ofn.Flags = OFN_OVERWRITEPROMPT;

        if (GetSaveFileName(&ofn) == 0)
            return "kein Bild";
    }

    //keine Datei ausgewählt...
    if (ofn.lpstrFile == "")    
        return "kein Bild";

        return ofn.lpstrFile;  

}


Dieser Post wurde am 17.10.2004 um 01:05 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.10.2004, 13:34 Uhr
~hardixy
Gast


habe das problem gelöst.
es war lediglich ein problem bei der auswertung des zurückgegebenen Dateinamen.
Der Code oben funzt ohne probleme.
schönes WE.
hardixy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: