Seltsamer Fehler beim Laden von Dateien aus Ordnern



  • Hallo.

    Ich habe ein kleines Programm geschrieben und bin gerade dabei, es testen zu lassen. Leider bekommen einige Leute einen Fehler: Konnte data/settings/settings.nif nicht laden. Diese Datei existiert aber. Der entsprechende Lade- Code schaut so aus:

    TStringList *SettingsList;
        SettingsList = new TStringList;
        SettingsList->Sorted = True;
        SettingsList->Duplicates = dupError;
        SettingsList->LoadFromFile("data\\settings\\settings.nif");
        AnsiString ThemeFile_Setting = SettingsList->operator [](0);
    

    Was läuft da falsch? Komischerweise funktioniert der Code bei mir fehlerfrei...



  • Hallo

    der Codeausschnitt scheint soweit in Ordnung zu sein. Eventuell könntest du vor dem relativen Pfad noch den Pfad des programms davorsetzen, um auf der sicheren Seite zu sein.
    Überprüf doch einfach mal vor dem Laden in die Stringliste mit FileExists, ob die Datei wirklich existiert.

    bis bald
    akari



  • Ganz komische Sache: Ich habe nun einmal alle Ordner als rar gepackt und zum Download bereitgestellt. Die Tester, die sich davor erst die Ordner und DANN die exe heruntergeladen hatten, meldeten, dass es nun funktioniert.
    Allerdings habe ich nun tatsächlich FileExist benutzt, um die Dateiexistenz zu prüfen.



  • Hi,
    um ganz sicher zu gehen sollte man evtl. nicht den relativen Pfad nehmen,
    da sich dieser ja auch im Verlauf der Ausführung ändern kann, sondern den
    Pfad aus dem Pfad der EXE Datei (Da gabs ne nette Funktion oder Eigenschaft
    von TApplication aus der man das relativ einfach rausbekommt. Die fällt mir
    aber gerade nicht ein. ^^) und dem relativen Pfad zusammensetzen.
    So ist dann auch bei einem anderen Arbeitsverzeichnis der Pfad immer richtig.

    MfG

    Alexander Sulfrian


Anmelden zum Antworten