Erstellen von Directory



  • Zeig doch mal den Code dazu, mitm Hellsehen ist es hier nicht so weit her...



  • BOOL CEingabedialog::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    
    	//Abfrage des Projektnamen
    	CFileDialog projektname(FALSE, NULL, NULL, NULL, NULL);	projektname.m_ofn.lpstrInitialDir = _pgmptr;
    	projektname.m_ofn.lpstrTitle = "Projektnamen eingeben";
    	projektname.DoModal();
    
    	//Pfad des Projektnamens ermitteln + Abspeichern in m_projektname
    	m_projektname = projektname.GetPathName();
    	m_prnon = projektname.GetFileName();
    
    	//Verzeichnis erstellen mit dem Namen von m_projektnamen
    	CreateDirectory(m_projektname, NULL);
    


  • Kann es sein, dass du versuchst, das Verzeichnis zu erstellen, im dem du eigentlich den Ordner erstellen wolltest? 😕

    Beispiel:
    In C:\Programme\ willst du Spiele erstellen.
    Du machst:

    CreateDirectory("C:\\Programme\\", NULL);
    

    du willst:

    CreateDirectory("Spiele", NULL);
    

    😕



  • Wenn ich nur in dem Create-Director Befehl "Spiele" schreibe wie kann ich festlegen wo der Ordner "Spiele" in der Dateistruktur anlege??



  • Indem du den kompletten Pfad ("C:\Programme\Spiele") angibst.

    (schau dir mal im Debugger an, was für einen Dateinamen du zurückbekommst)

    PS: Und schau dir mal an, was für Flags du dem CFileDialog-Ctor mitgeben darfst.



  • m_projektname = projektname.GetPathName();
    

    Hier steht der komplette Pfad drinnen. Wenn ich debugge und den projektnamen anschau, stimmt er auch.(z.B:"C:\Programme\Spiele") Es wird ein Debug Assertion Failed Fehler ausgegeben, wenn man auf abbrechen drückt, erstellt er trotzdem das Directory.

    Wo kann ich mir die Flags anschauen von CFileDialog-Ctor?



  • mike1 schrieb:

    Es wird ein Debug Assertion Failed Fehler ausgegeben, wenn man auf abbrechen drückt, erstellt er trotzdem das Directory.

    Dann drück mal auf "Wiederholen" und schau dir an, wo die Assertion aufgetreten ist.

    Wo kann ich mir die Flags anschauen von CFileDialog-Ctor?

    In der MSDN unter "CFileDialog".



  • Wo kann ich nachschauen, wo die assertion stattgefunden hat?
    Wenn ich auf "Wiederholen" drück, hängt sich das Programm auf.



  • Hallo

    Du kannst doch dann unten rechts die funktionen durchklicken, die zuletzt aufgerufen wurden.

    chrische



  • mike1 schrieb:

    Wo kann ich nachschauen, wo die assertion stattgefunden hat?
    Wenn ich auf "Wiederholen" drück, hängt sich das Programm auf.

    Dein Programm oder VC?

    Dein Programm: Ja klar, genau das sollte passieren. 😉 Lies mal
    VC: Das ist nicht gut... 😕


Anmelden zum Antworten