directory_create()=> unexpected error occured

  • directory_create()=> unexpected error occured

    Also, ich möchte in meinem Spiel die Speicherdateien in einen Ordner saves\ auslagern.
    Dabei funktioniert alles solange, wie der Ordner saves\ bereits im Spieleverzeichnis
    existiert.
    Um das abzuschaffen, hatte ich in dem Objekt, dass die Speicherdateien einliest, folgenden
    Code am Anfang eingefügt:

    GML-Quellcode

    1. if !(directory_exists("saves\"))
    2. directory_create("saves\");

    Seltsamerweise kam dann eine sehr seltsame Fehlermeldung, nämlich dass eine Variable
    aus einem komplett anderen Objekt nicht definiert sei. Allerdings kam dieser Fehler nur
    dann, wenn 1. Der obenstehende Code eingebaut war und 2.Der Ordner saves nicht
    existierte.
    Deshalb habe ich ein extra Objekt nur mit diesem Code ganz an den Anfang des Spiels
    gesetzt und plötzlich kam die Meldung: "an unexpected error ocurred while running the
    game" und das Spiel wurde beendet.
    Ich habe Vista auf meinem PC, allerdings liegt das Spiel auch nicht in einem Verzeichnis,
    in dem es vielleicht Admin-Rechte zum erzeugen des Pfades benötigt (außerdem funktioniert
    das erstellen von Dateien makellos). Kann es irgendwie sein, dass directory_create unter
    Vista nicht läuft? Oder mache ich irgendeinen Fehler?
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____

  • directory_exists(dname) Returns whether the indicated directory does exist. The name must include the full path, not a relative path.
    directory_create(dname) Creates a directory with the given name (including the path towards it) if it does not exist. The name must include the full path, not a relative path.


    Du brauchst also den ganzen Pfad. Einfach ein "working_directory" davor setzen.

    © 2008 by Teamgrill Productions
  • Soul Reavers Code funzt schon, ich hab seinen Post nur noch nicht gesehen, wo ich geantwortet hab :)
    Tja, anscheinend hat da jemand beim übersetzen der Hilfe geschlampt, bei mir steht das mit den
    relativen Pfaden jedenfalls nicht drin.
    Auf jedenfall vielen Dank für eure Hilfe^^
    *erledigt*
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Spellmaker schrieb:

    Soul Reavers Code funzt schon, ich hab seinen Post nur noch nicht gesehen, wo ich geantwortet hab :)
    Tja, anscheinend hat da jemand beim übersetzen der Hilfe geschlampt, bei mir steht das mit den
    relativen Pfaden jedenfalls nicht drin.
    Auf jedenfall vielen Dank für eure Hilfe^^
    *erledigt*


    Nope da hat niemand geschlampt. Höchstens der Verfasser der englischen 6.1-Hilfe:


    directory_exists(dname) Returns whether the indicated directory does exist.
    directory_create(dname) Creates a directory with the given name (including the path towards it) if it does not exist.


    Daher sollte man sich auch die 7er Hilfe anschauen, auch wenn sie auf englisch ist. ( Natürlich nur wenn man den 7er verwendet)

    © 2008 by Teamgrill Productions